User:Jhuni: Difference between revisions
No edit summary |
mNo edit summary |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{mylangbegin}} |
{{mylangbegin}} |
||
{{mylang| |
{{mylang|Clojure|Very Active}} |
||
{{mylang| |
{{mylang|Common Lisp|Active}} |
||
{{mylang| |
{{mylang|Scheme|Interested}} |
||
{{mylang|Haskell|Interested}} |
|||
{{mylang|Erlang|Interested}} |
|||
{{mylang|Prolog|Interested}} |
{{mylang|Prolog|Interested}} |
||
{{mylang|Scheme|Interested}} |
|||
{{mylangend}} |
{{mylangend}} |
||
⚫ | |||
== Lisp == |
|||
⚫ | |||
Lisp is my favorite programming language because of its consistent syntax and its functional programming, meta-programming, and procedural programming capabilities. To top it all off, Lisp is the dominant language for AI, my specific area of interest. |
|||
== Scripting Languages == |
|||
I used to use scripting languages like JavaScript, Ruby, PHP, Python, Perl 5, Lua, and Smalltalk, however, I no longer do, as I have come to value functional programming, static typing, and immutability too much. |
|||
== VM Languages == |
|||
I also rarely use the C# and Java. They are heavily patented and too tied into their respective corporations: Microsoft and Oracle. Although Java has opened up recently and C# has opened up with Mono, this hasn't made the problem go away. |
|||
On the technical side of things, these languages are too tied into OOP and they lack decent support for functional programming features. For example, in Java you need to create a class or an interface before you can even create a function. |
|||
== Systems Languages == |
|||
In the area of systems language, I prefer D because has strong support for functional programming with lambdas, recursion, higher order functions, static typing, const-correctness, immutable, and my personal favorite the pure modifier. Although D is a much nicer language, I usually end up using C++ 90% of the time because it is so ubiquitous. |
|||
== Obscure Languages == |
|||
I have a passing interest in a variety of obscure languages like Perl 6, Haskell, Erlang, Prolog, and Scheme. |
|||
== Text-based languages == |
|||
I can't really use these languages for large open source projects because not enough people know them, they don't have any good implementations, or some other serious problem. |
|||
I used to use various text-based languages such as C++, JavaScript, PHP, and Perl, however, after using Lisp for a while I can no longer stand them. Even when I use things like Prolog and data formats like CSS and XML, I just embed them in Lisp. Now all I use Lisp. |
|||
== |
== Lisp Machines == |
||
Unfortunately, I no longer have a working Lisp machine, so I am stuck using the crappy existing operating systems. When I write code for an OS, I want that OS to have features such as a persistent single address space, introspection, logging, and reflectivity. As it is I have to spend a huge chunk of my time handling poor operating system design. |
|||
I have spent a lot of time building perl6.wikia.com and the examples on that site: |
|||
It also just so happens that mainstream operating systems are programmed in crappy languages such as C, which I won't dare touch, so I can't hack on them either. |
|||
http://perl6.wikia.com |
|||
The only solution that I see is to work to reconstruct the glory of the Lisp machines on modern hardware. |
|||
http://github.com/jhuni/perl6-general-examples |
Latest revision as of 23:59, 3 May 2011
My Favorite Languages | |
Language | Proficiency |
Clojure | Very Active |
Common Lisp | Active |
Scheme | Interested |
Prolog | Interested |
I am an artificial intelligence specialist. I prefer AI languages like Lisp and Prolog.
Lisp
Lisp is my favorite programming language because of its consistent syntax and its functional programming, meta-programming, and procedural programming capabilities. To top it all off, Lisp is the dominant language for AI, my specific area of interest.
Text-based languages
I used to use various text-based languages such as C++, JavaScript, PHP, and Perl, however, after using Lisp for a while I can no longer stand them. Even when I use things like Prolog and data formats like CSS and XML, I just embed them in Lisp. Now all I use Lisp.
Lisp Machines
Unfortunately, I no longer have a working Lisp machine, so I am stuck using the crappy existing operating systems. When I write code for an OS, I want that OS to have features such as a persistent single address space, introspection, logging, and reflectivity. As it is I have to spend a huge chunk of my time handling poor operating system design.
It also just so happens that mainstream operating systems are programmed in crappy languages such as C, which I won't dare touch, so I can't hack on them either.
The only solution that I see is to work to reconstruct the glory of the Lisp machines on modern hardware.