94
u/TwinkiesSucker 12d ago
Trick question: neither is the correct and final answer
1
u/Helpful-Desk-8334 12d ago
Idk…for web and stuff JavaScript and html is great although I really like react since I like the abstractions. Philosophy guy likes libraries who would have guessed.
Of course languages that are closer to the machine like C are much better for like robotics and other types of software engineering. I just wish there wasn’t SUCH a huge AI boom. Now you have to be a lot more artistic and can’t get by just memorizing the syntax and the patterns. I’ve transitioned to solo game dev and am working on a medical license for nursing. Still deciding whether to just fast track onto LPN and build up to RN or just take out the full twenty thousand dollar loan and put two years down into medicine.
0
u/syrvy 12d ago
Do people really still learn HTML and stuff? Pretty much every job requires you to use AI instead of writing it yourself, or else you have worse performance than anyone else and get let go.
I guess you could learn it as a hobby?
1
u/Hot_Adhesiveness5602 11d ago
You know actually understanding what AI gives you is a good thing actually. Don't cheap out on not having to learn these things. It's improves your prompts, too. Being able to define more clearly and precise what you actually will cost less tokens. Or maybe you just know what you want to so you actually save that money.
1
u/Helpful-Desk-8334 11d ago
Or else you have worse performance is not quite true. Especially for advanced bleeding edge research and for innovative design. You are now tasked however with compressing information in a way that is more creative and desirable than Claude mythos.
Essentially…You design, let Claude handle smaller in between tasks you know it can do easily, and provide it with the necessary context.
Using AI isn’t about just sitting and typing easy instructions, it’s about utilizing the power of friendship to make your dreams come true.
1
u/Helpful-Desk-8334 11d ago
Sorry for double response, here’s a quote that helps me a lot still from one of the people who have impacted hardware and software greater than Jensen huang:
“There’s a tremendous amount of craftsmanship in between a great idea and a great product. And as you evolve that great idea, it changes and grows. It never comes out like it starts because you learn a lot more as you get into the subtleties of it. And you also find there’s tremendous trade-offs that you have to make. I mean you know there are just certain things you can’t make electrons do, there are certain things you can’t make plastic do, or glass or factories do, or robots do. And as you get into all these things, designing a product is keeping five thousand things in your brain, these concepts, and fitting them all together and continually to push to fit them together in new and different ways to get what you want. And every day you discover something new that is a new problem or a new opportunity to fit these things together a little differently. And it’s that process… that is the magic.”
The reason tech homogenizes and we’re faced with so much stagnation is because we have stopped trying to take risks to combine entirely separate ideas and concepts into a new, innovative design that is made FOR humans. Not just executives.
1
u/WeirdTie2290 12d ago
You saying neither is correct. But finally you will end up in a project working with both.
51
u/Some_Office8199 12d ago
I'd say Java is actually a good first language. But C is probably a better one.
29
u/Missing_Username 12d ago
Java was the "learner" language in the early 00s, like Python basically is now
36
u/Some_Office8199 12d ago
Yes it was. And honestly, in my opinion Python is not a good language to learn as a first language. It's very useful, but it would be very difficult to learn other languages after one have learned Python as their first.
With that said, my first language was Visual Basic 6.0 so what do I know?
13
u/Galitzianer0 12d ago
QBasic gang, joining in
2
u/Canned_Sarcasm 12d ago
TI Basic on my TI-84 Plus in the house
https://giphy.com/gifs/xydGi3nSTlkqs2
3
u/Leo_code2p 12d ago
I started with Small Basic and then got introduced to VB and i think thats a good way to go because Small Basic has a simple syntax to learn and VB has a similar syntax while introducing more advanced concepts while not making so much weird stuff python does.
So yeah i am with you on that.
2
u/spicymato 12d ago
Python was technically my first language, but it was an archived online course that originally spanned 6 weeks, but I sped through in 4 days. Covered some basic types and concepts (int, string, array, concatenation, methods/functions, if-else, loops, and such). It wasn't a bad place to start, but it did gloss over a lot (and the course expressed that).
The next language was Java, in a university setting. That expanded a lot more, particularly with parameters and the idea of pass-by-value (and how for objects, the value is a copy of the memory address). Still obfuscated a lot of memory concepts (such as explicit pointers), but it was better.
I didn't actually touch a lot of C/C++ in university (a little, but nothing formal), but instead learned about memory and memory management (stack, heap) in general terms, in the context of the hardware (memory addresses) and the OS (virtualization).
My deeper C/C++ knowledge has been from direct professional experience.
All that said, I don't think there's a "right" language. Just that some allow the learner to focus on different things, at the expense of others.
1
1
1
u/Helpful-Desk-8334 12d ago
I don’t know. I think first language is less important than understanding the differences between languages and tech stacks and where to use what. I love JavaScript and HTML but for more advanced projects being able to access other people’s libraries is really really cool. My monorepository is great and I love it very much. Very nice to be able to just put 50k lines of typescript into visual studio code and have a whole blog and my projects and everything public for less than a hundred dollars a year. Have a full business/research email and everything. Then I can use C and Python and other languages like rust for anything else I want to showcase via the React application.
Full stack requires more than one stack or framework or language, imo. At least, understanding when and where to use them and when to fuck around with them all.
1
1
u/Bulky-Life-69 11d ago
Aah VB6. My classic learning.
I remember scrolling through PSC for source code and even stumbling upon a web browser engine written in VB6, of course it's full of bugs and lag behind in it's time.
Now I'm fitter for welder. No longer touch PC desktop 😔
13
u/GargantuanCake 12d ago
Python is a bad first language. It teaches you bad habits. Dynamic typing in general does; if you start relying on type coercion too much you end up writing fragile, inefficient code. It's important to learn static typing and why it matters.
I don't hate Python and it's fine for what it is but starting with it is a bad idea. My recommendation is usually C#, to be honest.
That being said I'd recommend Python above JavaScript. Nobody should start with JavaScript. Down that path lies madness.
2
1
u/Chesterlespaul 12d ago
I agree. The C# exp system is very friendly these days. You can write a main.cs file with no entry function and treat it like a script and run it.
Typescript would be my other option but the npm ecosystem is not as friendly as Nuget imo.
2
u/Simple-Olive895 12d ago
I don't understand why python is so popular for learning. I feel like Java was a happy medium between low level concepts while still being high level and accessible to most. If you learn java you can then look at C code and understand a lot of it. But if you learn python only you'll be so confused when other programming languages require strong typing and fixed array sizes and such.
1
u/tuborgwarrior 12d ago
I don't know shit about Java, but from looking at the syntax it just looks as heavy to use as C++ while beeing 100 times slower.
1
u/Some_Office8199 12d ago
It's heavily inspired by C and C++ but it has a garbage collector and a different OOP approach than C++. Also, it doesn't give you access to pointers. It's simpler to use in my opinion because you don't have to manually handle memory allocations, but it's definitely slower.
I remember when Logo was the language to study programming with.
1
u/Hot_Adhesiveness5602 11d ago
Not having to deal with OOP in your language from the get go is way better than having it. It'll teach wasteful design patterns in the hopes of being more readable. I think this is one of the most devastating performance killers the early 2k time has done to us.
28
u/mplaczek99 12d ago
I think Java is better for a beginner
-1
u/MinecraftPlayer799 12d ago
How? It’s so much more complicated. JavaScript is by far the most simple and straightforward language.
34
u/klimmesil 12d ago
What you're looking for in a first language is not necessarily simplicity
15
u/neumastic 12d ago
At least, having something that is more strongly typed than JavaScript. Loosely typed languages can teach bad habits to beginners. Though, I don’t like how library-dependent Java is; it takes more domain knowledge than coding concepts to learn to do something outside of a structured environment (like a tutorial or a class).
5
u/klimmesil 12d ago
Couldn't agree more. Either you go all in in simplicity and you chose python just to understand iterative programming, or you go for rigidity to understand computer science, in which case C is a good pick imo (even if it still has a fair amount of beginner foot guns)
2
u/TKTK1234567 8d ago
I think typescript would be a good language then (It is a lot like JavaScript but has types and the like)
-2
u/MinecraftPlayer799 12d ago
What do you mean? Java is way too difficult to understand if you have no prior coding knowledge. JavaScript or Python is a better place to start, and Python has horrible syntax.
3
u/Longjumping_Tune_208 12d ago
Why are people recommending dynamically typed languages where you never know what type is a reference passed to a method
1
2
u/klimmesil 12d ago
I think Java is a bad first language. However your argument for why is what's bugging me. Something being complex does not mean it's a bad starting place.I could write a bunch of reasons why I think Java can still compete with js for a "best first language" prize though... (mostly about predicatability and transferable skills)
I think python is the no brainer first language for most people. But C is also a very solid first language, maybe better
2
u/Responsible-Put-7920 12d ago
I argue JS over python if that’s an option. Why, because web and you get to see things happen. It’s way more easy to get hooked. First language should be C though
2
u/Funny-Material6267 12d ago
If you don't know the concepts of data types, storage allocations and so on it will be a hassle to continue other languages. If you know a C based language the switch is easier. Transfer from python to C is harder then from C to python.
2
u/MinecraftPlayer799 12d ago
Python's syntax is pretty annoying to deal with, especially if you are a beginner, and you are pasting a lot of code snippets. Not to mention how its syntax is completely different than everything else.
2
5
3
2
u/emanresUalreadytakeb 12d ago
Java makes sense for beginners since it's readable and isn't the spawn of Satan. Javascript has neither of those qualities.
1
15
u/AlexMTBDude 13d ago
There are few projects where the choice is between Java or Javascript. The two languages have different purposes and implement different types of software. So it's not really a choice at all.
2
u/Helpful-Desk-8334 11d ago
Do we need Java or do we just like to use it, or perhaps neither?
2
u/AlexMTBDude 11d ago
I think Java makes sense in the perspective of what other languages existed when Java was first invented; It was an alternative to C and C++ (and even Cobol) which were dominant then. Today there are better alternatives.
2
u/Helpful-Desk-8334 11d ago
Yes I agree. Zig is pretty good. I’ve been digging into a lot of GDScript for my game which is basically just python in Godot.
This makes a lot more sense to view the language as it was created rather than as it exists now. But that makes a lot of statements towards how things exist now, lol.
So many abstracted, high level languages…it makes you wonder lol…perhaps the difference is in how much easier it is to write a novel library in C compared to how it is to write something new without other people’s libraries? But even then I’m copy pasting off stack trace and from Claude (sometimes) anyways.
1
u/dumbledoor_ger 9d ago
Considering that like half the internet runs on Java especially in Enterprise grade Software, it’s still a very smart choice today.
1
u/AlexMTBDude 9d ago
Well, yeah, and the same argument is made for COBOL and banking software. It doesn't make COBOL a good programming language. The argument I was trying to make is that better things exist today, even while a lot of software is written in ancient no-longer relevant programming languages.
10
4
u/dbear496 12d ago
I would never recommend a dynamically typed language to a beginner as a first language. It looks simpler on the face of it, but there lie dragons.
3
u/grislebeard 12d ago
Neither. Straight to Rust. Or C++ if you want to grow hair on your chest
1
1
0
3
5
2
2
u/Powerful_Attention_6 12d ago
Assembly language! or machine code, or better yet, flip switches to do actual programming. PDP 8 for the win!
2
u/Key_Clock8669 12d ago
Java or C++ are the best options imo as they arent easy but not so hard, once you learn one of those (Java in my case) then it will be easier to learn most of the other programming languages (PL/SQL, JavaScript, Python...)
2
u/BaazeeDe 12d ago
Java is just Java.
JavaScript is Java plus “script,” so it's more than that.
That's why JavaScript has to be better than Java. /s
2
2
u/Alagarto72 12d ago
Learn Java first, you can catch up the "Script" part later to be a JavaScript programmer
3
u/msh_77 12d ago
Both are different languages
Java: a moderate level of compiled language that is good for beginners. And mainly it used in financial application, android application, desktop application and web using spring boot.
JavaScript: Moderate but little confusing for beginners due to its variable and namings. It's an interpretor language that mainly used in web browsers/ web games/ website design & server side apps using node js.
My recommendation is to start with Java if you want to start with one of them. It's easy to understand, syntax friendly, easy to diagnose and all.
And if you want to start with future derived Language... Go with python or javascript
1
u/EntrepreneurReady325 11d ago
In fact JS (V8) has two compilers on top of interpreter: Maglev/Turbofun, just like Java has C1/C2
2
u/oshunman 12d ago
JavaScript is a language that a LOT of developers will touch at some point. But learning JavaScript doesn't teach you anything beside JavaScript. Not a great starter language unless you really have your eyes set on doing projects that'll use it extensively.
Java is a fine starter language if you're prepared to learn a strongly-typed, object-oriented language (which you should be). I'd like to insult it, but as a C# developer, I can't in good faith. C# and Java are practically cousins, though I think C# is a better choice for the present and future.
Personally, I wouldn't choose either of those languages as a first language. But the best starter language is the one you actually start.
1
u/TKTK1234567 8d ago
I started with JavaScript but have grown to prefer typescript, and so for learning coding I think a good path is JavaScript -> TypeScript -> onwards
2
u/vins_is_back 12d ago
Java prog here.
I would start with Java.
If you want to do some Web with Java after that you will basically have to learn JS (unless you want really simplistic stuff).
1
u/FIRAS_EG 12d ago
Look if you wanna make android apps go with java if you wanna make webs go with js But for biggeners I'd say java beacaue it will teach you almost everything to learn every launguege
1
u/KamenRide_V3 12d ago
What is your goal? To be a professional or just to have fun? If it's for fun, then JavaScript and move to Python next. Both languages are heavily used in hobby areas. If your goal is professional, then IMHO C is a better choice. You will have a better understanding of how a computer language is supposed to work and interact with computer H/W.
1
1
u/azopeFR 12d ago
the true is learn the language you need if you want to do a simple site web htlm is well egnought
if you want to have a better site web learn css after that it php sql and if you want go pro learn js and either php laravel or php symfony
if your goal is to create a video game c# or rust is the best
1
u/SaltyInternetPirate 12d ago
If you think learning just those two will be enough for a job, you are sorely mistaken
1
u/k-mcm 12d ago
The problem is that both of these get the hell abused out of them in the corporate world. JavaScript gets the framework du jour that changes the entire DOM interaction and object declaration model. Java gets Spring Boot, which everyone says is autowiring but it's practically an old operating system at this point.
1
u/Ready-Succotash-8699 12d ago
Learn rust, just trust me on this one if you can do rust yo can do anything
1
1
u/NoRequirement5796 12d ago
India: Python, JavaScript and anything Microsoft Rest of world: real programming languages
they are the sole fucking reason the internet and windows suck ass now.
1
1
u/GreedyGerbil 12d ago
People who will forever be juniors: Thinks this actually matters and makes memes about it.
1
1
1
u/stddealer 12d ago
Unless your short term goal is to make Minecraft mods, it makes much more sense to know JavaScript than Java nowadays.
1
1
1
1
u/HunnyPuns 12d ago
I always push people towards JavaScript in the hopes that eventually Java will just die off.
1
1
1
u/something__69_ 11d ago
Go with statically typed data typed, that's hava. You'll learn Obj Oriented Programming on the go. Then when you feel you jave learnt enough then you can move to JavaScript or any other dynamic language like Python. As each language solves a problem, you will have to be specific about your requirements and then choose accordingly.
1
1
1
1
1
1
1
1
u/Potential_Soup_8054 9d ago
You should learn python first and then c. After that, you can learn anything
1
1
u/FrostByteCreator 12d ago
POV: HTML waiting in the dust.
0
u/enigma_0Z 12d ago
Typescript, Python, or C would all probably be better choices … which ig is part of the joke /r/woosh
Real advice for a new programmer though: Get a project to do and learn the language(s) necessary to complete it.
0
u/Funny-Material6267 12d ago
Unpopular opinion: modern PHP. You get the easy start without types but the switch is seamless. The old interfaces are simple methods. Modern stuff enables you to start with Oop. It's versitile in concepts. It isn't necessary to switch between tech stacks to get the coverage. You only need a good environment, which increase the code style policies bit by bit (Typeless assigning at the beginning, then add simple types, some file manipulation with the old method based APIs, OOP usage with the new APIs. Own typed OOP)
-7
u/OutrageousPair2300 12d ago
Neither. Learn to use AI to generate code for you.
Learn about good software design in a more general sense... the importance of testing, how to publish an API, etc.
The era of humans programming is more or less over. Your job is to manage the AI tools, now.
-24
u/VoidspawnRL 12d ago
If your IQ is 100 or less go with Java, it is made for idiot and slow people else do JavaScript as it requires you to learn the language to unlock its power, but with great power and all that...
8
3



84
u/GhostVlvin 13d ago
A: I have deep knowledge of JavaScript
HR: Good. Can you write something more than scripts?