Ask HN: A good IDE/environment for programming beginners?
5 comments
The post sounds a bit emotionally charged... I've met people who can code and optimize SGD from scratch, but never wrote linked list more than once or twice in their life. I've also met people who are so proud of their algorithm and data structure knowledge, they tried to use it everywhere, like connecting instances in a linked list, which killed efficiency. If anyone self taught is reading this, don't be discouraged, keep learning and you'll get there, some of the best developers I know were self taught.
It seems like you are talking about software engineering vs programming vs maths.
While there are exceptions, I'm seeing that people, who were able to teach themselves programming, make good software engineers lot, lot more frequent. Same for maths. The same for programmers with good understanding of fundamentals vs hobbyists who never tried to look at the basics.
There are always exceptions, yes, but for me it looks like these exceptions are rare.
But very often I see dissatisfied people who spent years of time and some good money but are unable to get any kind job/internship. They are not engineers and they did not become programmers either.
While there are exceptions, I'm seeing that people, who were able to teach themselves programming, make good software engineers lot, lot more frequent. Same for maths. The same for programmers with good understanding of fundamentals vs hobbyists who never tried to look at the basics.
There are always exceptions, yes, but for me it looks like these exceptions are rare.
But very often I see dissatisfied people who spent years of time and some good money but are unable to get any kind job/internship. They are not engineers and they did not become programmers either.
Yazz Visual Javascript on the Mac App Store - https://apps.apple.com/us/app/visual-javascript/id1551448939...
> Java ... are easy enough to setup (thanks to JetBrains) but ... there are no good books teaching novices the CS foundations using these languages
Really? Is there no good Java book?
I can't actually name one off-hand, but surely... even if it covers only Java 8
Really? Is there no good Java book?
I can't actually name one off-hand, but surely... even if it covers only Java 8
I'm not aware of any Java book comparable with AaDS. If you have something in mind - please tell me.
I can’t click on your link because links in Ask HN question aren’t clickable. Please submit as an ordinary article.
If I wanted people to learn the real fundamentals I’d have them learn AVR-8 assembly and skip the brain damage of C. Can’t say I love any of the assemblers I’ve seen for it though.
I would say that systems programming requires skills taught in CS, advanced applications programming requires skills in ontologizing the problem domain that so far as I know aren’t taught anywhere and that I learned in the school of hard knocks.
I would say that systems programming requires skills taught in CS, advanced applications programming requires skills in ontologizing the problem domain that so far as I know aren’t taught anywhere and that I learned in the school of hard knocks.
Well, I used to teach people to build state automatons first, then stack automatons, then Turing machines, then very simple CPU simulators and then trivial interpreted languages on top. Never touched AVR, but x86 assembly is way too hard/cluttered in my opinion.
Agree on the second stance but "advanced applications programming" is engineering. At this point I'm completely convinced that it's a bad idea to try to become an engineer if you aren't a reasonably good programmer yet.
Agree on the second stance but "advanced applications programming" is engineering. At this point I'm completely convinced that it's a bad idea to try to become an engineer if you aren't a reasonably good programmer yet.
Select, right-click, open link
Any thoughts?
Yes, stay in your lane.
Yes, stay in your lane.
Well, could you elaborate? If that's for me - what's wrong with my views/opinions? If that's for a novice who wants to learn programming but is not a rockstar - you just ignore the problem.
Well, could you elaborate?
A fool points out other people's failings. A smarter person profits from them.
A fool points out other people's failings. A smarter person profits from them.
I guess somehow I profit from these "failings" because I'm able to sell my expertise for more or less reasonable money and it seems like the qualified engineer shortages are gonna get worse so it's probable that my pay rate will increase.
Though I also see that there are some fundamental problems with the industry which make my experience less and less enjoyable and that makes me sad.
Also I enjoy sharing knowledge but I see that it's lot harder to do now, because the average level of a regular novice dropped too low.
Though I also see that there are some fundamental problems with the industry which make my experience less and less enjoyable and that makes me sad.
Also I enjoy sharing knowledge but I see that it's lot harder to do now, because the average level of a regular novice dropped too low.
That's miserable mite
I noticed that too often I meet people who tried to took some courses, spent a year or two studying various subjects but still being unable to solve even simplest problems and not knowing even the most basic CS/programming concepts.
Yesterday I've met a person who spent almost two years on a Java course, trying to become a programmer/engineer. This person is extremely dissatisfied that they are still unable to pass any interviews and/or coding challenges. That's not suprising. This person doesn't know what is linked list, recursion, computational complexity, hashmap, binary tree, even the difference between value and reference - nothing. They are motivated and tried to do some self-education too, solve problems on HackerRank - but still nothing. There is an interesting anecdote about HackerRank. This person solved a challenge, asking to merge two sorted lists into one list, by concatenating them and then calling library function to sort it. The problem is that HackerRank accepted this solution as valid. Which in my point of view is totally unacceptable (pun intended) and kills all the pedagogical idea behind the problem. This challenge was supposed to motivate people to read about computational/memory complexity, reinvent/understand mergesort, read about the historical background and internalize the knowledge which is still very useful in our days. But this won't happen because of the very dumb test suite implemented by an idiot.
None of the adults I know were able to successfully learn programming/engineering at a level which would be enough to get a job/internship if they go the "modern" way, when people learn how to use a language and its standard library but ignore low-level concepts and classic data structures and alghorithms. There were some success stories from Arduino hobbyists though.
So I see a pattern. Usually those who started with low-level languages are able to get farther and they have better understanding of the things. Those who started with typed languages were more successful too. But they were extremely well motivated and they were able to somehow overcome the entry barriers. In our days it's extremely hard for a regular novice to follow this way. It wasn't always like that though.
So, I've tried to understand what advice I may give to a regular novice who wants to become a programmer and, later, an engineer with a job.
I still remember how easy was it to learn programming with QBASIC, Borland Turbo Pascal and Borland Turbo C.
The feedback loops were very short, it was possible to easily install the IDE, run it, type something and get the output.
The text is bit too long for HN, so the rest is here: https://telegra.ph/Ask-HN-A-good-IDEenvironment-for-programming-beginners-04-30
Any thoughts?