LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 01-28-2013, 09:18 AM   #1
jokar.mohsen
Member
 
Registered: Jul 2008
Location: Tehran
Posts: 361

Rep: Reputation: 17
Post Haskell, Lisp, Clisp, Scala, Erlang


Hello Folk.
Excuse me, I read some wiki about Lisp, Haskell, Clisp and Erlang, Are they Academic language?
Why Lisp and its family used today?
A friend told me that, He launches a project with Haskell about one day but if he wants use C\C++ for doing it, It takes 6 months, is it correct?
Can you tell me the Advantages and Disadvantages؟

Thank you.
 
Old 01-28-2013, 09:58 AM   #2
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: FreeBSD, Debian, Mint, Puppy
Posts: 3,298

Rep: Reputation: 175Reputation: 175
Lisp is a wonderful language...
and so is C.
But they have different goals.

It depends on what you want to do, they are different tools.

Code:
C/C++
=====
Brain------------------------------> keyboard --> machine

Lisp
=====
Brain --> Keyboard -----------------------------> machine
 
Old 01-28-2013, 10:09 AM   #3
Snark1994
Senior Member
 
Registered: Sep 2010
Location: Wales, UK
Distribution: Arch
Posts: 1,632
Blog Entries: 3

Rep: Reputation: 345Reputation: 345Reputation: 345Reputation: 345
bigearsbilly's post was slightly elliptic - I assume he was referring to Lisp being a bit closer to the way you think about problems (a claim often put forward by "functional programming" languages, such as Haskell) compared to C/C++, as well as the fact that you need to compile C/C++ code before you run it, while Lisp is interpreted (making C++ faster in general).

Haskell is certainly used for real-world applications (aurora and xmonad being two which spring to mind) but its use is rare compared to languages such as C/C++ or Java.

I think if a project would take 1 day to do in Haskell and 6 months to do in C++, then that says far more about the programmer's relative familiarity with Haskell compared to C++ than anything else - I consider it highly unlikely that such a dramatic difference in implementation time exists at any level, for someone who is reasonably competent in both languages.

Last edited by Snark1994; 01-28-2013 at 10:11 AM.
 
Old 01-28-2013, 10:30 AM   #4
dugan
Senior Member
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 4,871

Rep: Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523
Quote:
Originally Posted by jokar.mohsen View Post
Why Lisp and its family used today?
Script-Fu (Gimp's scripting language) and Emacs Lisp (Emac's scripting language) are Lisp-based.

LINQ, .NET's data querying library (which AFAIK is still very widely used), is heavily based on Haskell.

Haskell has a couple of extremely interesting and performant web frameworks available for it: snap and yesod.

And if you count Javascript as part of the "Lisp family" (which it is to a large extent), then it's obviously used everywhere.

And Snark, what is this aurora project that you refer to?

Last edited by dugan; 01-28-2013 at 12:56 PM.
 
Old 01-28-2013, 11:12 AM   #5
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
LISP is widely in CAS (Computer Algebra System).

CLISP is a well known implementation of LISP. SBCL is a faster than CLISP implementation, bey requires a LISP for bootstrapping when built from source - that's why I build both.
 
Old 01-28-2013, 02:07 PM   #6
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: FreeBSD, Debian, Mint, Puppy
Posts: 3,298

Rep: Reputation: 175Reputation: 175
Quote:
Originally Posted by Snark1994 View Post
bigearsbilly's post was slightly elliptic - I assume he was referring to Lisp being a bit closer to the way you think about problems
exactly!
 
Old 01-28-2013, 07:19 PM   #7
sundialsvcs
Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 5,423

Rep: Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158Reputation: 1158
There are hundreds of computer programming languages out there which are, somewhere, still in use. Even extensively.
 
Old 01-28-2013, 10:02 PM   #8
jlinkels
Senior Member
 
Registered: Oct 2003
Location: Bonaire
Distribution: Debian Wheezy/Jessie/Sid, Linux Mint DE
Posts: 4,186

Rep: Reputation: 512Reputation: 512Reputation: 512Reputation: 512Reputation: 512Reputation: 512
3DWings, a 3D modeller is written in Erlang.

jlinkels
 
Old 01-29-2013, 06:18 AM   #9
jokar.mohsen
Member
 
Registered: Jul 2008
Location: Tehran
Posts: 361

Original Poster
Rep: Reputation: 17
All answers are correct but In your opinion, Lisp is good for learn or Haskell or Scala?
 
Old 01-29-2013, 07:50 AM   #10
Snark1994
Senior Member
 
Registered: Sep 2010
Location: Wales, UK
Distribution: Arch
Posts: 1,632
Blog Entries: 3

Rep: Reputation: 345Reputation: 345Reputation: 345Reputation: 345
Quote:
Originally Posted by dugan View Post
And Snark, what is this aurora project that you refer to?
Sorry, I meant Aura, not Aurora (though Aurora does roughly the same thing, it's in Python and not as good). It's an Arch linux package manager (or rather, an interface to the AUR, Arch User Repository, that uses the same options as the default package manager does): https://wiki.archlinux.org/index.php/Aura

Quote:
All answers are correct but In your opinion, Lisp is good for learn or Haskell or Scala?
Well, it will help you a little bit more with Haskell than Scala - Scala is based more on Java, though both use functional programming ideas which are present in LISP. Lisp is probably the most widely used still, but I would say that both Haskell and Scala are increasing in popularity (with Scala even being touted as a potential long-term replacement for Java).

(see e.g. http://www.tiobe.com/index.php/conte...pci/index.html, though its accuracy is questionable)

Last edited by Snark1994; 01-29-2013 at 07:55 AM.
 
Old 01-29-2013, 08:59 AM   #11
jokar.mohsen
Member
 
Registered: Jul 2008
Location: Tehran
Posts: 361

Original Poster
Rep: Reputation: 17
Quote:
Originally Posted by Snark1994 View Post
Sorry, I meant Aura, not Aurora (though Aurora does roughly the same thing, it's in Python and not as good). It's an Arch linux package manager (or rather, an interface to the AUR, Arch User Repository, that uses the same options as the default package manager does): https://wiki.archlinux.org/index.php/Aura



Well, it will help you a little bit more with Haskell than Scala - Scala is based more on Java, though both use functional programming ideas which are present in LISP. Lisp is probably the most widely used still, but I would say that both Haskell and Scala are increasing in popularity (with Scala even being touted as a potential long-term replacement for Java).

(see e.g. http://www.tiobe.com/index.php/conte...pci/index.html, though its accuracy is questionable)
Excuse me, In your opinion Scala is a replacemnet for JAVA?
 
Old 01-29-2013, 10:52 AM   #12
Snark1994
Senior Member
 
Registered: Sep 2010
Location: Wales, UK
Distribution: Arch
Posts: 1,632
Blog Entries: 3

Rep: Reputation: 345Reputation: 345Reputation: 345Reputation: 345
Quote:
Originally Posted by jokar.mohsen View Post
Excuse me, In your opinion Scala is a replacemnet for JAVA?
Not quite, in James Strachan's opinion: http://www.infoq.com/news/2009/07/scala-replace-java. I have done little Java and less Scala, though if I were to choose one to code in, I would choose Scala for its functional features.
 
Old 01-29-2013, 12:07 PM   #13
dugan
Senior Member
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 4,871

Rep: Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523
Quote:
Originally Posted by jokar.mohsen View Post
All answers are correct but In your opinion, Lisp is good for learn or Haskell or Scala?
Learn Scheme by going through the SICP. Picking up any other functional programming language afterwards will be easy.

Last edited by dugan; 01-29-2013 at 12:12 PM.
 
Old 01-30-2013, 12:51 AM   #14
hydraMax
Member
 
Registered: Jul 2010
Location: Skynet
Distribution: Debian + Emacs
Posts: 467
Blog Entries: 60

Rep: Reputation: 51
Quote:
Originally Posted by jokar.mohsen View Post
Hello Folk.
Excuse me, I read some wiki about Lisp, Haskell, Clisp and Erlang, Are they Academic language?
Why Lisp and its family used today?
A friend told me that, He launches a project with Haskell about one day but if he wants use C\C++ for doing it, It takes 6 months, is it correct?
Can you tell me the Advantages and Disadvantages؟

Thank you.
Haskell is my favorite language, so I can tell you about that one at least. Haskell is a pure Functional Programming language, with a very powerful typing system. It is "academic" in the sense that it borrows a lot of theory from lambda calculus and category theory, and it can be difficult to understand at first for someone used to the more popular imperative languages (C, C++, Java, Perl, Python, etc.)

One big difference is that, as an FP language, the programmer focuses more on what the program "is" that what it "does". Instead of listing steps of things to do to solve a problem, you define your functions, and then your program resolves itself (like a big equation). And the strict (but dynamic) and polymorphic type system allows you to abstract programming concepts away to an insanely high level. Consequently, you can basically encode the logic of your program into the structure of the code as you write it, rather than doing that as a before-thought or after-thought.

Haskell is completely pure, meaning that IO operations never happen inside functions, unless the function is purposefully tainted as an IO function. A pure function (one that simply does calculations) can never be treated like an impure function (one that has side effects) and vice versa. Therefore, a function will never do "IO" things, like changing a global variable, or printing to stdout, unless you were expecting it to do so.

And of course, it has higher order functions, currying, and partial application. This means you can create a new function from another function by passing in only a few of the arguments it needs (this is really helpful). Also, you can easily pass in functions to other functions (functions and data are all the same to Haskell). So you could, for example, easily create a function that reads lines from a file, and then pass another function into it, which it could use to parse those lines.

There's more that could be said, but I'll just end by praising Haskell as one of the few programming languages out there that isn't inherently boring, and it allows you to rise to very great heights in programming knowledge and theory.
 
Old 02-03-2013, 07:42 AM   #15
jokar.mohsen
Member
 
Registered: Jul 2008
Location: Tehran
Posts: 361

Original Poster
Rep: Reputation: 17
Can you compare Haskell with Clojure or Scala?
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
scala mcnalu Slackware 12 11-02-2011 08:28 AM
LXer: Lisp Coding Bounty (get a copy of Land of Lisp) LXer Syndicated Linux News 0 10-23-2011 07:41 PM
Haskell, OCaml, Scheme, Erlang, Perl, Python, Ruby manolakis Programming 8 08-06-2007 11:10 PM
LISP or COMON LISP Compiler for Debian carspidey Programming 3 04-19-2006 08:46 AM
where do I learn AI with CLISP/LISP ? pepo Programming 4 01-25-2003 06:42 AM


All times are GMT -5. The time now is 09:26 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration