TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What language should beginning programmers learn first?

7 pointsby SleekEagleover 3 years ago

12 comments

themodelplumberover 3 years ago
IMO a big part of the choice ought to be subjective, a.k.a. personalized. Important subjective aspects:<p>1) Rank what you&#x27;ve seen in list order, most-interesting first. It doesn&#x27;t matter if you just like the logo, or mascot, or other irrational things. That&#x27;s still free emotional energy you can tap into.<p>2) Rank based on how they fit your technical and logical needs. Platforms you want to develop for, libraries you may need, tooling or editors or OSes you want to use. Support for your native written language.<p>3) Look at the project&#x27;s subjective past. Why did it start, why did the dev team last change, what&#x27;s the overall story they are writing. Does it match well with your story?<p>5) Look at your probable future. Are there any future needs you&#x27;ll need to meet with this education? Does the language help you toward those ends? Again you&#x27;ll probably want to rank them.<p>5) Look at the probable future of the project. When was the last release? Are modern libraries or tools supporting it? Is the website up to date? Is the forum covered with posts asking when there will next be a release, or is the core team still energetic or stable?<p>Upon answering these personalization questions, that&#x27;s when I&#x27;d look at more objective factors, like what other people say about it based on their personal circumstances.<p>Good luck to you, there are tons of amazing choices out there, and some beginning programmers can even start with more than one language...
SleekEagleover 3 years ago
On one hand, I think that learning an easily-readable language like Python makes it easy to not worry about syntax and focus on actual CS concepts.<p>On the other hand, there are a lot of CS concepts that go beyond algorithms, and I think understanding how e.g. C++ is written, precompiled, assembled, etc. is really valuable information.<p>It is sort of like the argument for or against starting with an IDE - training wheels on vs. training wheels off.<p>I supposed ultimately it comes down to your goals, but I&#x27;d love to hear everyone&#x27;s thoughts!
评论 #29662722 未加载
评论 #29663079 未加载
评论 #29662788 未加载
评论 #29662938 未加载
评论 #29662905 未加载
softwaredougover 3 years ago
Anything with a fast and rewarding feedback loop, with a community of amateurs that value learning and hacking.<p>An ideal to me might be Javascript in a sandbox like Khan Academy&#x27;s Javascript courses[1]. It feels like when I learned programming in AppleBasic or Borland&#x27;s QuickBasic. My son does these occasionally - there&#x27;s many games people have created you can explore and hack on. Reminds me of trying to figure out how Snake worked in MS DOS back in the day.<p>1 - <a href="https:&#x2F;&#x2F;www.khanacademy.org&#x2F;computing&#x2F;computer-programming" rel="nofollow">https:&#x2F;&#x2F;www.khanacademy.org&#x2F;computing&#x2F;computer-programming</a>
评论 #29662698 未加载
tmalyover 3 years ago
I would say learn Scratch programming first.<p>Hear me out. It runs in the browser so there is no setup.<p>You can see all of the blocks so there is less cognitive overhead trying to remember syntax.<p>There is a huge community, they had 30 million active users last year.<p>There are tons of books, courses, videos, and a forum to ask questions.
评论 #29666172 未加载
karmakazeover 3 years ago
I was going to suggest a functional language, but then realized that these days it&#x27;s not the language choice but rather how it&#x27;s used. I can&#x27;t think of a beginner-friendly functional language--F# is close but doesn&#x27;t lead to many jobs. Maybe Elixir.<p>Regardless of what language is first learned, I wish that more attention was paid to how the language is introduced and used. Specifically, rather than going bottom up mutating things willy-nilly to get the job done, express solutions decomposed in a functional style with localized side-effects. Keep using this pattern until it&#x27;s the first&#x2F;second nature.<p>So much of becoming a good developer is unlearning bad habits picked up starting day 1.
account-5over 3 years ago
If you&#x27;re anything like me I learn best by doing.<p>I really learned how to program when I had problems to solve, at the time I wanted to automate unrelated programs on Windows that needed the same data entered into them; I used autohotkey, but probably wouldn&#x27;t recommend this unless you want to automate other software.<p>I moved onto python after that. Python seems to have everything needed to easily learn what you need to know, with libraries for everything. This is beneficial when you start out, at least for me.
I_complete_meover 3 years ago
I am not a computer professional but may I suggest looking at this one: <a href="https:&#x2F;&#x2F;easylang.online&#x2F;" rel="nofollow">https:&#x2F;&#x2F;easylang.online&#x2F;</a>
jstx1over 3 years ago
I think Harvard&#x27;s CS50 course has got it right - some C for the first few weeks, then move on to Python. They also expand things in a way that exposes the students to a bunch of of other concepts - some JavaScript, some SQL, a bit of web programming, machine learning, games etc. I think for beginners getting a good idea of the landscape is more important that the specific language.
TheMonarchistover 3 years ago
It depends on how far they want to go. If you want to become a world class expert you should learn C++. Human expectations grow faster than hardware, and C++ is often the only viable choice for bridging that gap.<p>However if your aims are more modest you may find another language that better matches your needs.
_448over 3 years ago
C and Racket[0]<p>[0] <a href="https:&#x2F;&#x2F;racket-lang.org" rel="nofollow">https:&#x2F;&#x2F;racket-lang.org</a>
ffhhjover 3 years ago
Depends on what you want to achieve:<p>Javascript: run anywhere<p>Python: utilities<p>Java&#x2F;C#&#x2F;C++: prepare for enterprise jobs
jojozover 3 years ago
it depends on your needs, I study Java and C++