3 ms·
Ask HN: Is it possible to become a language agnostic programmer?
Language agnostic doesn't mean the engineer doesn't have a favourite language of choice. It means that the person can think of a problem critically, independent of any programming language and then design a solution. Then they can implement it in whatever language it needs to be implemented in. And does so efficiently. Ofcourse, to do this, they have to know the entire stack from the highest of high to the lowest of low abstraction levels of the machine.
Is this possible in practice? If so how? Any books?
- WaxedChewbacca 5y ago
- beebmam 5y agoVirtually every computer science course in the UC system beyond the intro courses teach methods of critical thinking that transcend individual programming languages. The theory of computation course I took two decades ago was fundamental to this understanding I've gained. Outside of quantum computation ideas, there is no (reasonable) propramming language I can't write software for, if that language is well defined and documented.
- baash05 5y agoBut what language would you write it in. I started a contracting job a few years ago where they were transition the team from Java to Rails. Every bit of the code "tasted" like java. What a rails dev would do in 2 lines took them a full page of code. (No fault of theirs-- they were all excellent devs)
- beebmam 5y agoWrite what in?
- debanjan16 5y agoYes, I like your last line. If a language is well documented you can pick it up in no time if you know the timeless concepts of programming in general.
- baash05 5y agoI'd say it goes beyond well documented though. . Like in rails if I want to add authentication, I drop in devise, and in 30 minutes I have a fully tested user auth system, complete with password locking and reset mechanics. Yes I could write it myself, but I'd not typically do that. No amount of docs on the language get that kind of boost in productivity. In elixir I could write a fully functional integration with Kafka, but Broadway already does that. The docs on the language don't get me knowledge of all the libraries out there. That's just Time in and good co-workers. (great ones really)
- baash05 5y agoNo. The answer is no. "A language that doesn't affect the way you think about programming, is not worth knowing." -- Alan Perlis The way you handle a problem is affected by the languages you speak. An elixir programmer would think in functions and modules and gen-servers. A rails dev would think in objects and jobs. It's not so much a favourite language thing. I mean english isn't my fav spoken language. It's the one I grew up using and thinking in. When I started working in Ruby/Rails I wrote c++ code with ruby syntax. When years later, I wrote Elixir, it "sounded" like ruby. (still does really). There is no way to know the full stack. Not really. One can have a working knowledge of it, (and that's awesome in start up mode), but really knowing an element of the stack takes study. Honestly it cheapens us to say otherwise.
- pabs3 5y agoPick a bunch of different languages, seek out open source projects written in them and try to contribute back fixes for each project. Eventually you will be able to work on projects in all those languages.