4 ms·
Oh my, this is adorable!.. You're worrying about something you really should not worry about. For a beginner, the marginal benefit of either this or that is neg
by Jugurtha 10y ago
Oh my, this is adorable!.. You're worrying about something you really should not worry about. For a beginner, the marginal benefit of either this or that is negligible.
This is akin to trying to shave milliseconds off of your 100m sprint by carefully choosing aerodynamic clothes and running shoes when your time is 20 seconds. Nobody should worry about that until they're under 10 seconds. In that case, the problem isn't the shoes, it's probably the 40 pounds of fat the beginner runner is packing and should deal with first.
Worrying about productivity at this stage is a 10 year old wondering about the best way to shave his beard.. He just doesn't have that problem yet and should be doing something else..
It's pretty hard for a beginner to get started and the amount of tools is overwhelming and could be distracting from what the beginner should actually be doing, which is reading and writing code.
I'm telling you this because I'm a textbook case of this kind of "Oooh, I want to learn X.. What's the best book?" and the spend a year looking for the best book to learn X, instead of spending that year actually learning X.
I wasn't like this when I was a child. I had a computer, it had something called BASIC. I didn't understand a word of English. I looked words in a dictionary and guessed the most part, copied code examples, ran them, changed stuff, deduced the role of each from the side effects, and just started doing it. Children are like that, they get stuff done. They're great hackers. When we grow up, we start trying to be "clever" about things and doing it "smartly" and get stupid in the process getting less done and learning less.
>Try to master the Unix command line and a terminal based editor
About that.. http://xkcd.com/1168/ http://xkcd.com/1168/
I think it'd be more productive for you to know enough to get you comfortable and know your way around it as soon as possible: yak shaving is never the point unless you're trying to unwind in which case, shaving animals can be.. relaxing.
Here's something to get you started but just that:
https://learnpythonthehardway.org/book/appendixa.html https://learnpythonthehardway.org/book/appendixa.html
Here's the most pertinent advice I could give you: Get internships. You probably live in a country that actually has software companies where people rely on software for most things.. Get internships at these companies. Real life experience, with real developers and real problems to learn the stuff you can't find elsewhere. Internships.
Also, side projects and reading code.
You think you're slow and a noob? I'm 29 and have been coding for 20 years on and off and I'm still a noob who can't code to save his life. I'm the slow guy here, not you!
All the best!
- skdotdan 10y agoThank you very much for your comment! Maybe my original post focused too much on productivity. It's very true that it makes no sense to be worried about these things when I'm still a beginner. However: "It's pretty hard for a beginner to get started and the amount of tools is overwhelming and could be distracting from what the beginner should actually be doing, which is reading and writing code." Ok, but, I still have to use some tools in order to be able to read and write code. And it's not neutral. Put it this way: should I code and read code with the command line + Vim/Emacs or with IDEs ala Jetbrains? I mean, in my original question, replace "productivity" with "ease of coding learning". I must focus on learning how to code, but: -If I do it with Vim/terminal, maybe I focus on the tool instead of the code itself. -If I do it with a powerful IDE, maybe I can't learn the basics properly. I don't know if I'm being clear enough (English is not my native language and I'm bad at languages). I will definitely try to get as many internships as possible. However, it's difficult for me to get the first one, because they look if you have had any experience before, and of course I haven't. I just need the first one to demonstrate that I can be a good intern.
- Jugurtha 10y agoThis is a false dilemma. It's not this XOR that. You will definitely use different tools. This is practically an unavoidable true fact, or a false one that is not practically avoidable. People don't learn to use a screwdriver to the exception of wrenches; soldiers don't learn to use pistols to the exception of rifles; surgeons don't learn to use scalpels to the exception of forceps. It's not realistic, so using one will not seal your fate. I think the reason it may be causing you trouble is that you think learning these tools is hard which makes you think you have to manage resources and make tradeoffs. It's hard to study Engineering and Medicine because the time commitment and effort for each almost make them mutually exclusive simultaneously, and rarely done sequentially. The good news is that learning CLI/IDE is not hard. The fact it's not hard is also the bad news, because the hardest is yet to come. This is similar to a person finding learning the alphabet of a language hard when it's just the apéritif. The reality is that you can learn about 80% of what you will be doing in the CLI in less than an hour. The remaining 20% will take you 40 years or something (well, you find people on Stack Overflow who know so much about these editors and tools, that the only technical question your ask yourself is which one they've used to draft the contract with the Devil). As in most things, few things are used the most. The number of words you know is the millions; the number of words you actively use is more in the tens of thousands. The number of biomechanically possible movements is important, the number of movements we end up doing daily is less impressive. My point is: neither constitutes that big of an investment, and you will end up using different ones anyway, so don't worry about it. I wouldn't hold my breath if you were to look for someone who's used a tool exclusively.