Use a new programming language, or do not use

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

I am generally interested in programming languages. Particularly low, I have been curious about how another programming language can provide me with new features for expressing programs and allowing me to grow into a programmer.

I learned the first language when I was in school. The computers there------a house of Pet 2001, when they were trendy------only basic, and soon let me down. At the university, I started a Pascal course and did a lot of programming in my spare time. Pascal quickly filled up the annoying deficiencies I found in basic.

With interest I studied the Fortran foundation, but never really used it. Modula 2 appeared, even with greater programming allocations, but did not really arouse my interest. I find Ada more interesting, but there are few opportunities to use it outside of the process Control course. I touched a bit of forth, but once again there was no real application to practice.

When I came into contact with C, I was eventually attracted. That is, ultimately, "real language," in a way that I can fully control, not only in technical scenarios------for most of my professional career, it is one of the main factors that makes me very good.

I also learned other interesting languages at university, such as TCL, not the greatest language, but it is a very easy to embed interpreter. Soon, I embed it in every major program I write. I learned a little prolog, but not enough, I'm sorry.

But I have a great interest in functional languages and have made more progress in that area------mostly Lisp, Hope, Ml,lisp is the only language I've built to implement------or more than one. Initially for a task, together with a co-student, on Modula 2. We don't like some of the requirements in that course, there are not so many implementation languages, so then we did a similar thing with C. A few years later, I made a Lisp interpreter with Java, and then I made another Lisp interpreter with C. All of this is not really complete------especially after the garbage collection is a little anxious to recycle it should not be recycled, but both have achieved a small but "real" Lisp, able to use recursion and higher-order functions, there are available basic built-in commands. During this time I wrote one with go, it is the most complete of them, although still in my collection of toy language classification, rather than a useful programming environment.

As mentioned earlier, C is helpful for most of my professional work and is something I am currently using. But other languages have entered the field of vision, mostly Perl. Perl even became my default language when I wanted to try something or have to just do a little bit of functionality. It's not because I'm a bit highly rated about Perl's technology, but it's available everywhere and everyone knows it, so it's much easier to use Perl than C, so Perl has become a habit. Although I am not the biggest fan of Perl, I find it everywhere indecent and rude, always trying to encourage questionable programming habits in other languages. What's more, it can get things done with relatively little effort.

There are other languages in the process I find interesting, but do not find enough time (or practice opportunities) to really learn them------LUA, SNOBOL,APL (or J) emerge in the mind. I had to work with JavaScript sooner or later, but I thought it was boring.

Then I watched more and more go. One of Rob Pike's articles finally let me in, about what I've always wanted to do. Now it seems to be a good language, with great ideas built in, and the habit of inheriting programmers who grew up with C and their descendants ' languages. Go has the potential to bring me back 20 years ago my mind was filled with the pleasure of C, combined with the comfort and practicality of a final elegant language (though not as elegant as Lisp or a more modern functional language) (like Perl). I'm going to wait and see, now I'm not doing much more than some simple programs and the Lisp interpreter mentioned above in go implementation.

Then there was Haskell. I was curious about Haskell in the early 90, when I was a student (see above) in touch with other functional languages. I was given an article on Haskell above the ACM SIGPLAN notics. Haskell was new at the time, but it has been growing for decades and it still exists and I think that's a good sign. Since I always like functional programming, this is probably the language I grew up with.

Now for me, the biggest obstacle to adopting a new language is not the difficulty of learning and the acceleration of learning for practical tasks, but others. To my regret, there is a culture in my workplace where people are mostly independent of their development projects, and when the original author is on vacation, or when the original author has left to do further development, others are able to fix the problem, which is still considered important. Of course I agree with that. But when other people are just not interested in the same thing, it makes it difficult to adopt a new language. Alas, they don't seem to be.

In addition to using shell scripts, we work with C and almost Perl, but I love working with Go or Haskell. I'm willing to use it at work to make my job easier and more fun. But since no one can take over projects in these languages, I can't do that. (There is a person who has enough interest in go, I guess, but he is a student and will leave us in a year or two.) It was so disappointing. Perhaps I should try to launch the next step in what language we should agree on------but I'm worried about the lack of interest and the old way of C and Perl. After all, they've adopted Perl as a new language, not even 20, so why do the same things happen so quickly?

Original address: http://jyrgenn.dreamwidth.org/30953.html
Article Starter: Laba porridge

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.