Java or Python?

iamme

Lifer
Jul 21, 2001
21,059
3
0
I want to starting building a foundation for development. I currently work in a company doing support, but I have lots of exposure to running/editing scripts, SDKs, etc. There is an opportunity in the near future for promotion and I think that a stronger programming base would really help me out. I'd label myself with beginning programming knowledge, and I'm looking to dedicate some significant time studying OOP with either Java or Python. I've read lots of pros and cons for both.

Some pros for Java:
- Our platform is written in Java and nearly all of our dev team uses Java
- Company will pay for training, which means I may be able to take Java courses
- Java seems to be a more prevalent enterprise level language

Some pros for Python:
- Everywhere I read says the Python learning curve is friendlier
- Python allows me to write full applications, but also simple scripts (assuming this from my research)

Any suggestions? I'm not committed to going to the developer career path, but I want to be knowledgeable in that aspect. I'd like to be able to build tools and solutions myself. Java seems like the intelligent route because it's so widely accepted and our company uses it. But I keep reading about the ease of Python and I wonder if I will enjoy learning it more.
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.
 

iamme

Lifer
Jul 21, 2001
21,059
3
0
Originally posted by: tfinch2
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.

i'm not sure if i can take advice from a Spurs fan, but i will this time

would you agree that the learning curve in Python is less daunting than Java, for a newbie programmer?

also, is Python "taken seriously" in the real world? i really have no gauge, just opinions i've read online that Java is more "mainstream" than Python and that some consider Python more of a scripting language than an enterprise level option.
 

presidentender

Golden Member
Jan 23, 2008
1,167
0
76
If you're gunning for a promotion, and Java will get you that promotion, learn Java. Python's probably a nicer language for beginners, because it is designed to be readable, but I'd wager that your competency will be the same three months in. Besides, if your company is paying for training, you'll get training; learning to program on your own is less likely to happen.

This isn't to disparage the Python language, which is often great, or to extol the virtues of Java, which is often crap. If your motives were different and those were the only two options, Python would be a sensible choice.
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
If you want to build enterprise-level applications, go for Java - sustainability, market-support, compile-time features, Web development, and all the other innumerable advantages. I am no Java-pro, but being a part of the core IT community [at least in my opinion], I can ascertain that you won't be able sell yourself as a Python programmer efficiently. Again, I don't like to bash programming languages, but at the same time, I like to be a realist. Develop a core competency that sells well and then diversify. If career in the IT industry is of less relevance compared to being a happy Python coder, then go for Python - you seem to have a penchant for Python .

Sure, there are 'giants' like Google that use Python heavily, but they also use C++, Java [probably even more heavily], C# PHP, Ruby, and Perl.

And yes, Python is a scripting language. But it is a great language, nonetheless.
 

Woosta

Diamond Member
Mar 23, 2008
3,006
0
71
Java for web development over Python? In this day and age? Seriously?
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Python is a nice language, and it is suitable for scripting. I don't know much about Python's OOP features, but Java's are quite nice. Java, sadly, is closer to the bare hardware, and you'll learn more about 'programming' when using Java, as it's primitives are less rich than Python. I suppose it all boils down to what you want to learn.

If you want to learn how to solve problems with a language in a high-productivity environment, use Python.
If you want to learn about programming, data management, and more fundamental aspects of programming, use Java.

(Note: if you want to be useful to your group, assuming you get the promotion and they all write Java, then you should learn Java)
 

Chosonman

Golden Member
Jan 24, 2005
1,136
0
0
Now a days it helps to know a lot of different languages. That being said, knowing Java will probably be more advantageous because learning other languages after java will be easier. Being a Java developer myself I see a lot of job opportunities out on the job market today and I don't see that changing in the near future especially since more and more companies and governments are adopting open source enterprise solutions and SOA.

I don't know much about Python, but seeing as how it is a scripting language and not a real OOP I can't see how it can be better. Scripting languages have their limitations. Like you really can't build an end to end service efficiently with a scripting language as you could with a true OOP.

Getting back to my point about knowing multiple languages a typical front end java developer will have knowledge of the following:
JSP, XML, HTML
Core Java, Servlets, Struts
JavaScript
CSS
*Including a variety of front end design patterns

A java backend developer will typically know
JDBC, Servlets, Core Java, SQL, Java Enterprise Beans, Hibernate, Spring
Web Services, Axis2, Jax-WS
*Including a variety of back end design patterns

The one fundamental thing you need to be good at if you're programming is to know your design patterns. That's the same no matter which language you're using.
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Originally posted by: Woosta
Java for web development over Python? In this day and age? Seriously?

When I say Web development, I don't just mean Web pages. Web Development = Web pages + Web Services + Service-based Web applications in general.

I don't use Python on a daily basis, but we have people on the team who do - my perception stems from their verbal exchanges... things like Python's lack of proper DB APIs (I think it still uses ODBC for data access and what not), dynamic nature of objects (WTF, no type compatibility, safety, etc?), Java's 'mature' APIs for lower-level system-based tasks (services, DB access, etc.), Java's just-in-time compatibility, Java's huge-ass market penetration at the enterprise level, Java's IDEs are good.

On the other hand, the Python folks on the team also talk about all the niceties that Python provides - more readability, compact footprint, XML-APIs, ease of understanding, etc.

Now, as I mentioned before, my intention wasn't to bash Python. I was just trying to glorify the fact that if you want to survive as an application developer/Web developer, Python cannot be your primary development language [in this day and age - seriously]. You can master a language like Java, and always diversify later by adding Python, Ruby, etc. as your secondary languages. But again, it depends on what the OP wants to do - if indulging in carnal pleasures to satiate his/her needs is the primary objective, the OP can go for Python hands-down.

PS: I am .NET guy, and on a regular day I would prefer C# over Java, but in this context the focus is to discuss the feasibility of a programming language. If you guys have Python ideas that I am missing, or anything I mentioned above is total crap, please prove me wrong!
 

HigherGround

Golden Member
Jan 9, 2000
1,827
0
0
Originally posted by: Chosonman
I don't know much about Python, but seeing as how it is a scripting language and not a real OOP I can't see how it can be better. Scripting languages have their limitations. Like you really can't build an end to end service efficiently with a scripting language as you could with a true OOP.

Python is OO, the fact that it's interpreted (is this what you mean by saying 'scripting language'?) has nothing to do with its OO features.
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
Originally posted by: tfinch2
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.

Java libraries are even better, and perhaps more faster.

Many Java open source libraries have matured well over time.

python doesn't even have good IDE...
 

yoda291

Diamond Member
Aug 11, 2001
5,079
0
0
If you just wanna learn OO programming, go with Python in your spare time.

If you want to be a programmer, my suggestion is to have your company send you off for some formal java training since it's free and you can network and discuss and get a good grasp of what's happening in java. If you can get training in the j2ee stuff, that's even better. There's a lot of worthwhile stuff in java land (like Hibernate, Spring, etc).

Then I'd say go to python once you got back because their standard library is very rich, the language itself is pretty straightforward and you could likely develop apps quicker. Plus things in python seem more readable to me. On top of that, writing interfaces to C libraries and extending the language in C is a good option if you ever really run into speed problems. Finally, the thing that would swing me over is that you can write Python that produces JVM compatible binaries and can link in those wonderful java classes out there, but without all the boilerplate that you'll see in most java apps.
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
Originally posted by: postmortemIA
Originally posted by: tfinch2
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.

Java libraries are even better, and perhaps more faster.

Many Java open source libraries have matured well over time.

python doesn't even have good IDE...

Maybe this is my Linux side talking, but can object oriented COBOL, I mean Java, do ioctls, pipes, etc out of the box?

 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
Originally posted by: tfinch2
Originally posted by: postmortemIA
Originally posted by: tfinch2
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.

Java libraries are even better, and perhaps more faster.

Many Java open source libraries have matured well over time.

python doesn't even have good IDE...

Maybe this is my Linux side talking, but can object oriented COBOL, I mean Java, do ioctls, pipes, etc out of the box?

making fun of most used programming language is foolish. another linux user thinking he's better than rest ...
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
Originally posted by: postmortemIA
Originally posted by: tfinch2
Originally posted by: postmortemIA
Originally posted by: tfinch2
My vote goes to Python, but not because it's easier. Have a look at the Python Standard Library. It is very rich.

Java libraries are even better, and perhaps more faster.

Many Java open source libraries have matured well over time.

python doesn't even have good IDE...

Maybe this is my Linux side talking, but can object oriented COBOL, I mean Java, do ioctls, pipes, etc out of the box?

making fun of most used programming language is foolish. another linux user thinking he's better than rest ...

Check your sarcasm meter. Notice the ""

:laugh:

I'm the last person that thinks he's better than anyone.
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
I don't understand your sarcasm either, programming language x is better than programming language y in discipline A, and y than x in discipline B.

So answer would be learn both.
 

irishScott

Lifer
Oct 10, 2006
21,568
3
0
I'd go with Java simply because it's more heavily used, generally speaking. If you learn Java, you will also have a MUCH easier time transferring to other large languages (C++, C, etc) that are based on the same syntax and (roughly) the same concepts (if you plan to go that route).

That said, Python is awesome, and definitely good to know.
 

spamsk8r

Golden Member
Jul 11, 2001
1,787
0
76
Java is pretty much the industry standard for Web applications in the enterprise (although .NET has made a lot of headway in recent years), so if you want a career in web apps you would do well to learn Java. That, and the core Java language is actually pretty easy to understand. It's just more verbose than some would like. Python and its ilk (Ruby, Groovy, Perl, etc.) is a great language, with a lot of power built-in, but that comes at a price. Some of the concepts (like closures, continuations, etc.) widely used in scripting languages are pretty advanced for a beginner to deal with without a firm understanding of how a language works in the first place. Also, speed of execution is a factor (most, if not all, scripting languages will be slower than Java). Java has a much richer selection of stable frameworks and libraries as well. That said, if you just wanted to learn how to program (and not worry so much about getting paid for it) then Python would be a fine choice (although if that were the case I would suggest learning Scheme, a LISP dialect, as most scripting languages take a big cue from LISP).
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |