So I'll add two:
0. talk to other programmers 11. attend a Coding Dojo
41–50 of 93 posts
So I'll add two:
0. talk to other programmers 11. attend a Coding Dojo
This will not only improve your skills in general, but learning from the mistakes you make is probably the best way to grow as a programmer.
-Build something that is bigger/more complex than your current skill level. This will not only improve your skills in general, but learning from the mistakes you make is probably the best way to grow as a programmer.
The main thing: always challenge yourself. When your at the inflection point of your learning curve, do something different. Expanding your boundaries will not only help you learn different technologies, but it will give you a better perspective on your actual specialties.
"Learn a new programming language" I would rephrase this to learn a new programming paradigm . There are fundamental differences between static typing and dynamic typing, object orientation and functional, manual memory management and garbage collection. There are also "pure" single-paradigm languages and multi-paradigm languages. If you learn the same type of language multiple times, you're really just learning new…
Counting proper languages I actually wrote something useful in, my path looks like: C64 BASIC -> C64 raw machine code -> QBasic -> x86 raw machine code -> Turbo Pascal -> C -> Visual Basic -> Java -> O'Caml -> Delphi7 -> Python -> C++ -> Erlang -> C# -> Haskell -> F# -> JavaScript To keep learning very different languages is also what guarantees you will be able to get a good job when your bread-and-butter language f…
-Build something that is bigger/more complex than your current skill level. This will not only improve your skills in general, but learning from the mistakes you make is probably the best way to grow as a programmer.
By the way, I can't recommend going out and reading massive textbooks. That might be useful in a vacuum, but in reality you only have so much time. Programming should always be number one on this list; followed by: -building something completely different than your used to (either in scope, by features, or by language) -looking at code from open source projects The main thing: always challenge yourself. When your at…
There might be other places to find some of these things, like other compiler texts or the actual source of some Lisp compilers and runtimes, but books are often laid out in a nice pedagogical way. Reading the SBCL or Racket source would be a steep way to get to some of these ideas.
I would amend your recommendation to say, pick the massive textbooks you read carefully. Don't suffer through big, poorly written books.
Earlier quoted context omitted.
By the way, I can't recommend going out and reading massive textbooks. That might be useful in a vacuum, but in reality you only have so much time. Programming should always be number one on this list; followed by: -building something completely different than your used to (either in scope, by features, or by language) -looking at code from open source projects The main thing: always challenge yourself. When your at…
Some things are better found in books though. I've been reading Lisp in Small Pieces for a while now, and there's some great stuff buried in there. I don't think I would have stumbled upon it just hacking away on toy Lisps on my own. There might be other places to find some of these things, like other compiler texts or the actual source of some Lisp compilers and runtimes, but books are often laid out in a nice pedag…