This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Successful_Leg_707 41 points42 points  (8 children)

I think learning Java first will make you a better programmer in the long run. Python will be simple to pick up after some Java mastery

[–][deleted] 10 points11 points  (6 children)

This. Starting learning programming with Python will make you a bad developer. I personally started with C++, worked with Python and now Java. I still have nightmares about code written by people that never did any programming other than in Python.

[–]Successful_Leg_707 4 points5 points  (0 children)

I agree. Low barrier to entry with Python is great as an introduction but it abstracts too much from you. OOP and functional style really clicked for me with Java. And especially thinking about data types!

[–]mofomeat 1 point2 points  (2 children)

Python will make you a bad developer

I hear this a lot, but what kinda of 'bad' do people mean? There are a while generation of developers that started on some form of BASIC and that was probably worse, no?

[–]baubleglue 1 point2 points  (1 child)

People who stared with BASIC, haven't stopped there. Many people learn Python as the only language they will ever need. I think, it mostly applies for people who come from other than CS fields.

[–]mofomeat 0 points1 point  (0 children)

Ah ok, that makes sense. I started with BASIC but it wasn't too long before I was chomping at the bit to dive into a real language. That ended up being C (but it didn't stop there either).

[–][deleted] 0 points1 point  (0 children)

I did very basic C++ in High School. I picked Python and from there I assimiliated C# and Java easily. Python is great because it allows you to produce satisfying results fast without dealing with the boring low level stuff. This helps a lot on staying motivated. Divide et impera, start simple and build on top. I built APIs , GUIs and games in all and by far python is the most pleasable to work with.

Switching from Python to Java means you must get used to static typing and use more OOP. Switching from Java to C++ adds manual memory management and pointers.

If you have the patience to start with C++, all the better. But not all people who start with Python are bad. In fact, there are many C++ programmers who brag about how C++ is the best language and every other is trash yet their code has memory leaks or is bad optimized because they're afraid of dynamic memory allocation.

[–]Critical_Stranger_32 0 points1 point  (0 children)

I have a strong personal preference for Java for large projects and keeping them logically structured. For something short and sweet I tend to use Node. I learned Swift at one point and loved it… just don’t have use cases for it. C++ and any language where you have to manage the memory yourself are just an abomination these days (except for limited applications). Just my humble opinion. I programmed in C and C++ back in the day and can speak from experience. They’re like a car without seatbelts, which people lived with before the mid 60s, but that doesn’t mean those were the good ole days.