zoukankan      html  css  js  c++  java
  • Home at Last, or, The Last Programming Language I Will Ever Learn: LISP (Clojure)

    Home at Last, or, The Last Programming Language I Will Ever Learn: LISP (Clojure)
    from:http://colinsteele.org/2010/10/home-at-last-or-the-last-programming-language-i-will-ever-learn-lisp-clojure/

    I write software. In fact, I have been programming for my entire professional career. Back before the Internet, before the Bubble, or the Previous Bubble, I clawed my way into a development job at a little startup in Boston, Massachsetts that made multiprotocol routers. At that job, I started off as a tester, a “Quality Assurance” guy, and thanks to the model of the company’s technical founder, and the hard work and mentoring of one particular software developer (Art Mellor – scumpa.com) at Cayman Systems, I found the calling that drove the subsequent two decades of my life: writing software.

    That first job shaped more than just the content of my career, because at Cayman, I caught the dreaded Startup Bug. For the first time, I felt the intense thrill of having direct, palable impact on the success of a business. I knew the joy of self direction, if only in part. The first taste of the cocktail of Freedom and Responsibility left me wanting more, and I’ve pursued startups ever since.

    My mentor at Cayman Systems gave me two pieces of advice that have stayed with me to this day:
    When you start your company, start it by doing consulting. (See, he already knew I’d caught the Bug.) Get paid to learn the space and develop for your customers, using their expertise and funding, and then turn all that into a product.
    Learn LISP.

    I really suck at taking advice, so I’ve never done either.

    Ten years ago (almost to the day of this posting) I started working in Ruby. When I discovered Ruby, it imbued me with sense of elation, of relief, and of contagious excitement. It grabbed me – not merely intellectually – and over the course of the next year or so as I learned the language, it changed how I wrote software and how I approached solving software problems. To sum up that ephiphany in terms far too simplistic, but nonetheless true: “Programming is FUN!”

    Although it has taken me years to introspect into that experience deeply, I defer to the words of Paul Graham:

    “Programming languages are not merely technologies, but habits of mind as well.” – http://www.paulgraham.com/avg.html

    By finding another programming language, I stumbled into new and more effective habits of mind. Ruby made me a better programmer.

    Looking back, I see that some wiser part of me, not the conscious-mind part, already knew that maxim, long before it became clear to my waking thoughts. Because, you see, as soon as I saw Java, I knew I hated it. I have never written even a single line of Java code, not for money, and definitely not for fun. I think that I already knew, deep down, that it would change me, as a coder. For the worse.

    The NY Times magazine featured an article titled “Does Your Language Shape How You Think?” by Guy Deutscher which starts as a retrospective but then goes into what new research has shown on this subject.

    “Some 50 years ago, the renowned linguist Roman Jakobson pointed out a crucial fact about differences between languages in a pithy maxim: ‘Languages differ essentially in what they must convey and not in what they may convey.’ This maxim offers us the key to unlocking the real force of the mother tongue: if different languages influence our minds in different ways, this is not because of what our language allows us to think but rather because of what it habitually obliges us to think about.”

    “When your language routinely obliges you to specify certain types of information, it forces you to be attentive to certain details in the world and to certain aspects of experience that speakers of other languages may not be required to think about all the time. And since such habits of speech are cultivated from the earliest age, it is only natural that they can settle into habits of mind that go beyond language itself, affecting your experiences, perceptions, associations, feelings, memories and orientation in the world.”

    I’m not really one for resolutions in general, but earlier this year I decided I needed to invest in myself a bit more, and so I vowed to learn a new programming language. I know, I’m a CTO, and that’s supposed to be “beneath me”, but I maintain that my effectiveness as a bridge between the worlds of technology and business obliges me to a deep, deliberate and constant immersion in both realms. I have been hearing more and more about languages that leverage the JVM, and so I thought Scala might be a good candidate. I won’t bore you with details, but it failed to meet my expectations.

    So about six weeks ago I picked up Cloure. And now, after about twenty years, and much to my chagrin, I find Art Mellor’s advice not only sound but vital. Altering. Transformative.

    You see, Clojure is a dialect of LISP. And LISP, as it turns out, isn’t a programming language. LISP is a way of mind.

  • 相关阅读:
    python3操作sqlserver,查询数据统计导出csv
    scrapy入门二(分页抓取文章入库)
    stm32 调试时卡在LDR R0, =SystemInit
    STM32F407 串口通信实验 第26节 个人笔记
    STM32F407 串口通信:分类&常见接口 个人笔记
    STM32F407 IO引脚复用器和映射 个人笔记
    STM32F407 按键输入实验 库函数版 个人笔记
    STM32F407 GPIO 库函数编程套路(led与beep总结) 个人笔记
    STM32F407 跑马灯 寄存器版 个人笔记
    STM32F407 跑马灯 库函数版 个人笔记
  • 原文地址:https://www.cnblogs.com/phoenixzq/p/1877567.html
Copyright © 2011-2022 走看看