4 ms·
I agree with this. It seems like they should start with python or even java to learn the basics in a relatively straightforward environment, but one that also i
by notJim 5y ago
I agree with this. It seems like they should start with python or even java to learn the basics in a relatively straightforward environment, but one that also implements a lot of constructs in a fairly standard way. They also both have well-documented and large standard libraries. I feel like they should spend a bit of time on that, and then switch to JS, which is relevant for so many jobs these days.
- woah 5y agoPython and Java are probably just as bad as Javascript. I started with Javascript (and self taught) and never had many issues. Javascript is very easy to get running and play around. With Java you will spend a huge amount of time on pointless ceremony that can seem important to a beginner but is really pedantic enforcement of programming preferences from the Java designers (everything is a class for example). With Python you have a pretty easy language but the dependency management situation is a disaster. Python in a Google Colab notebook where everything is pre-installed could be good.
- notJim 5y agoI agree that Java has a lot of silly boilerplate, but I don't see that as a huge hurdle. Most people will use an IDE that populates it for you. Keep in mind this is for a complete beginner. Dependency management with either Java or Python is PITA IMO, but my idea would be to avoid dependencies during this initial phase of learning the basics.
- ghaff 5y agoPython seems to be the goto for intro programming courses at a lot of universities today. I assume that bootcamps are more focused on Javascript because front-end wbdev is probably more marketable than Python in isolation.
- legerdemain 5y agoA number of bootcamps, at least in the Bay Area, teach full-stack web dev as JS + Django (General Assembly) or JS + Rails (Coding Dojo). On one hand, it seems like an antiquated curriculum. On the other hand, a surprising number of mid-sized companies still run on Rails or Django. (I don't comment on the usefulness of Rails and Django to small companies and individuals, because they're not the ones hiring bootcamp grads.)
- sam0x17 5y agoYeah honestly pure Java is a real joy. Other people's Java, and in particular anything involving dependencies is where Java falls apart and becomes ridiculously overly verbose. Too bad people don't write Java like I did in college I guess lol? I really don't get what motivates people to write 30 observer classes, etc. Good Java can be so clean...
- int_19h 5y agoPython dependency management is quite adequate for teaching - all you need to know is how to pip-install packages, really. The real headaches don't show up until you have a large app with lots of dependencies. The other thing about Python is that, because it's already so popular for teaching, it has an ecosystem of tools around that. E.g. it has turtle graphics in the standard library (!), which is a very good way to explain loops, recursion etc for visual learners. There's also IDEs like https://thonny.org/ https://thonny.org/ that visualize program execution step-by-step.
- pharmakom 5y agoIt's niche, but I really think F# is the best language to learn first. Not all of F#, but the basics of let, records, tuples, recursion... All that's required is FSI (the interactive interpreter). You can even fetch dependencies from Nuget inside a script, so there's less setup than Node or Python. Elm would probably work too.
- notJim 5y agoLearning these esoteric languages seems like the opposite of what you want to do if your goal is to create employable engineers in as little time as possible.
- sam0x17 5y agoI think intuition suggests that but in practice it would be extremely effective. Almost every student I've encountered ends up doing it the long way anyway when the short way doesn't work for them.
- sam0x17 5y agoVB.NET was an amazing first language for me, tbh