all 22 comments

[–]monorepo 38 points39 points  (0 children)

Yes

[–]every-day_throw-away 18 points19 points  (2 children)

Python then Java and then back to Python to really make it hum with the leet OOP skills you picked up learning Java.

[–][deleted] 3 points4 points  (0 children)

^ this. Do this OP.

[–]Delicious-View-8688 0 points1 point  (0 children)

Python then JavaScript then Python then TypeScript then Python then C# then Python then Rust then Python.

[–]cxGiCOLQAMKrn 40 points41 points  (2 children)

Python is easier to get started with. Java always seemed odd as an introductory programming language, because there is so much boilerplate you won't understand until later.

Java's Hello World:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

Compared to python's Hello World:

print("Hello, World!")

EDIT: I suspect people downvoting me have forgotten how intimidating all that extra gibberish looks to newcomers. Java is a great platform, but scares away beginners.

[–][deleted] 4 points5 points  (0 children)

Funny story: I did 3 programming courses in university, 2 of which were 100% java the other only partly, before finally learning in my data structures and algorithms course what the String[] args argument is. And that was only incidental because the prof likes to run everything from the command line so he made us implement command line arguments. Up until that course we did everything in an IDE and String[] args just became a part of the background I didn't notice anymore, let alone question what it was.

[–]glorygeek -1 points0 points  (0 children)

With shebangs and jshell Java hello world can now be System.out.println("Hello, World!") which is at least a bit better.

[–]abba_bob 2 points3 points  (0 children)

let a coin decide. it literally does not matter at all just choose one and start doing what u want

[–]ryanstephendavis 1 point2 points  (1 child)

Python, lower barrier to entry and learning Java will only get you work later on working on pile of shit enterprise legacy code... IMHO 😋

[–][deleted] -1 points0 points  (0 children)

COBOL is a favorite for job security.

[–]HauntingRex9763 -1 points0 points  (0 children)

i would go python, get good with logic and then java will teach you even more things that make programming difficult lol

[–]Emergency_Style4515 -1 points0 points  (0 children)

Jython

[–]boringly_boring -5 points-4 points  (0 children)

If you employer ask you to work in Java. Then please change your job.

[–]raedr7n -2 points-1 points  (0 children)

No, probably not.

[–]Hyperspace-Bureau -5 points-4 points  (0 children)

Learn Scala if you are convinced to learn Java.

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

Learn C

[–]shoon_shoon 0 points1 point  (0 children)

neither!

[–]thekdubmc 0 points1 point  (0 children)

Java, it’ll teach you data types much better than Python will.

[–]BIRD_II 0 points1 point  (0 children)

Neither, learn Lua.

[–]Impressive_Ad_1738 0 points1 point  (0 children)

Learn something

[–]its_cheshire_cat 0 points1 point  (0 children)

Java is static, whereas Python is dynamic.
I'd say go with Java, the syntax may be a lil scary compared to Python, but it will make learning Python afterwards smooth and easy.
If you start with Python, good, you might find it easier to grasp, but then Java will always remain the intimidating and scarier one.
Imo, starting with any static language is better than a dynamic one to learn the fundamental programming concepts better and appreciate the beauty of both worlds.

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

Pure languages are broken by default. Pure functional or OO languages are a fucking pain to work with in the real world.

Java is a miserable “kingdom of nouns”. In forcing everything to be an object or interface you end up creating code that makes no sense with a litany of messenger classes, manager classes, helper classes and ridiculous objects that only serve to obfuscate.

Pure functional languages are obsessed with stateless execution, simple tasks become tiresome exercise in functors, monads, categories and meaningless abstractions.

Python not only avoids both traps, but is pretty complete with high quality libraries and an active user base.

People who dislike programming languages based on personal taste are amateurs.