Reading05: Lost in Translation
"Consider Cobol." I HAVE NO IDEA WHAT COBOL IS. Maybe this is a me problem, but this language was referenced way too many times for me to draw any meaning from those points. Also, it's been a little weird trying to wrap my head around 2003 Python. I'm assuming it's a much different (younger) language than it is today.
"The reason Latin won't get you a job is that no one speaks it. If you write in Latin, no one can understand you. But Lisp is a computer language, and computers speak whatever language you, the programmer, tell them to."
I've always wondered what the real difference between languages was aside from use-case. Why isn't there one language that can do everything well? I guess that's what Python aims to do, especially with its massive support as an open-source language. As Graham stated, you should always use the most powerful language or, if this doesn't best fit your use-case, find the one with the greatest library support for whatever you're working on. This makes sense. As we move into the future, though, I expect languages to continue to become easier for the programmer to understand with much of the intense logic hidden behind general objects or function calls. I know this is a very general description of a trend that we've already seen as we move away from it being essential for the lay-hacker to understand machine code, but I truly believe that we're losing the 'science' in computer science.
People think they're developers because they can copy and paste LLM-generated code snippets and execute them in VS Code...and I'm sure the pointy-haired bosses believe them! The double-edged sword of Python is something to be studied. Part of me wants to hate on the accessibility of the language and complain about how we are going to eventually lose sight of optimization and other important paradigms essential to building large-scale systems. The other part of me remembers that the .sort() method will always perform with the lowest time and space complexities (or so I've been told). As long as Python remains the consensus best language, though, I'm sure it will continue to be force-fed into every curriculum and eventually fully replace the teaching of low-level languages. Memory management will only be explained in the theoretical, as it is only important for a specialized group of engineers.
"Languages evolve slowly because they're not really technologies. Languages are notation. A program is a formal description of the problem you want a computer to solve for you."
Graham's argument for Lisp really confused me. He doesn't really try to convince the audience to learn/use it, but continues to bring up how important it was in the success of Viaweb. "We could replicate features in a day that would take other companies weeks!" Good for you! Is that because of the language, itself, or your proficiency in that language? Even in his list of reasons for Lisp being different, he talks about how these features have been replicated in newer, more polished languages. I feel as if Graham never explicitly says..."I think it's worth learning Lisp for these fundamental ideas, but stick with the language that's best for your use-case." He kinda just dances around this idea while guilting the reader into feeling the need to sharpen their Lisp skills.
I can really only conclude that it's worth learning the languages that inspire you. If you feel learning Lisp, then do it! No one's stopping you! Most of these languages are learned on one's own, anyway, so there is no need to come up with excuses to not pursue these goals. Especially since the 'standard' seems to be changing all the time (React being replaced with Next.js as the 'future of web dev,' etc.), one can make an attempt to keep up with most companies' expectations/requirements, but at the end of the day, it's not too difficult to jump between these worlds with the proper resources. There are many other soft skills that are almost more important--you must be willing to adapt if you want to make it in this career. Don't be intimidated by the chaos of what you should learn...follow the hacker ethic and pursue what speaks to you. That's what's really important.
Comments
Post a Comment