Click here to Skip to main content
15,893,588 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Does anyone code with LISP? Pin
JimmyRopes5-Feb-14 1:23
professionalJimmyRopes5-Feb-14 1:23 
GeneralRe: Does anyone code with LISP? Pin
Member 81978313-Feb-14 8:56
Member 81978313-Feb-14 8:56 
GeneralRe: Does anyone code with LISP? Pin
JimmyRopes3-Feb-14 20:40
professionalJimmyRopes3-Feb-14 20:40 
GeneralRe: Does anyone code with LISP? Pin
mattyltaylor3-Feb-14 12:43
mattyltaylor3-Feb-14 12:43 
GeneralRe: Does anyone code with LISP? Pin
JimmyRopes3-Feb-14 20:41
professionalJimmyRopes3-Feb-14 20:41 
GeneralRe: Does anyone code with LISP? Pin
Member 46088983-Feb-14 19:20
Member 46088983-Feb-14 19:20 
GeneralRe: Does anyone code with LISP? Pin
JimmyRopes3-Feb-14 20:42
professionalJimmyRopes3-Feb-14 20:42 
GeneralRe: Does anyone code with LISP? Pin
irneb3-Feb-14 22:23
irneb3-Feb-14 22:23 
JimmyRopes wrote:
Yes I do and didn't know the originated in LISP.

You'd be surprised just how many things originated from lisp. Even the ubiquitous if-then-else wasn't in Fortran before it was taken from Lisp, it only became ubiquitous in other languages when it was shown to be so much easier to use than conditional goto-statements. Map functions (i.e. the functional method of iterating over a list/array and modifying each item to produce a list of results) was originally in the oldest of Lisps - generally known as the mapcar function.

Chances are that whatever language you're using, about half of it stemmed from Lisp originally. Lisp was the first language to actually have all of the now "new" concepts incorporated in one package: iterative, imperative, functional, recursive, object oriented, meta (macros), etc. It allows you to mix-n-match any of these interchangeably so you can choose which works the best for the scenario at hand. That is probably why it makes you able to program in other languages a lot better after you've done some Lisp.

Note though, Lisp comes in 3 major dialects: Common, Scheme & "Other". Clojure and NewLisp can be seen as examples of the "Other" type, while they are still Lisps, they don't conform to the strict specifications of Common / Scheme - it would be like a new type of C where it's not conforming to the general principles of C (you could see it like the difference between Java and C#, both look reasonably the same and do the same things, but in slightly different detail).

Scheme is generally used in universities since it's a minimalist language, i.e. only the basics are incorporated into its spec. You're supposed to generate your own libraries or use others' libraries - these are usually not included into the language. Common Lisp is at the other end of the spectrum, it's specification tries to encompass all generally needed libraries and functionality. The Others tend to be a mix or they're built on top of existing libraries.

Here's one thing which opened my eyes quite wide: The creator of IronScheme first started to make an IronLisp (intended to be a Common Lisp on the DotNet VM). He gave up on this because it was too difficult. One aspect (of many) which is very dificult to near impossible to implement in the CLR is Common Lisp's object orientation (known as CLOS - Common Lisp Object System) and especially the MOP (meta object protocol). It simply doesn't translate into something which the CLR can do. Scheme was then chosen, since it doesn't specify an object oriented system, thus the built-in DotNet system can be used.
GeneralChoosing a development environment Pin
stp661-Feb-14 2:27
stp661-Feb-14 2:27 
GeneralRe: Choosing a development environment PinPopular
DaveAuld1-Feb-14 2:57
professionalDaveAuld1-Feb-14 2:57 
GeneralRe: Choosing a development environment Pin
Sampath Lokuge1-Feb-14 3:17
Sampath Lokuge1-Feb-14 3:17 
GeneralRe: Choosing a development environment Pin
PIEBALDconsult1-Feb-14 5:25
mvePIEBALDconsult1-Feb-14 5:25 
GeneralRe: Choosing a development environment Pin
S Houghtelin1-Feb-14 6:58
professionalS Houghtelin1-Feb-14 6:58 
GeneralRe: Choosing a development environment Pin
Eddy Vluggen1-Feb-14 7:17
professionalEddy Vluggen1-Feb-14 7:17 
GeneralRe: Choosing a development environment Pin
PIEBALDconsult1-Feb-14 7:29
mvePIEBALDconsult1-Feb-14 7:29 
GeneralRe: Choosing a development environment Pin
Eddy Vluggen1-Feb-14 8:26
professionalEddy Vluggen1-Feb-14 8:26 
GeneralRe: Choosing a development environment Pin
PIEBALDconsult1-Feb-14 8:39
mvePIEBALDconsult1-Feb-14 8:39 
GeneralRe: Choosing a development environment Pin
GuyThiebaut1-Feb-14 9:12
professionalGuyThiebaut1-Feb-14 9:12 
GeneralRe: Choosing a development environment Pin
Mycroft Holmes1-Feb-14 20:42
professionalMycroft Holmes1-Feb-14 20:42 
GeneralRe: Choosing a development environment Pin
Sampath Lokuge1-Feb-14 21:47
Sampath Lokuge1-Feb-14 21:47 
GeneralRe: Choosing a development environment Pin
Danny Martin2-Feb-14 22:18
Danny Martin2-Feb-14 22:18 
GeneralRe: Choosing a development environment Pin
stadelma3-Feb-14 3:05
stadelma3-Feb-14 3:05 
GeneralRe: Choosing a development environment Pin
Dragonranger3-Feb-14 3:20
Dragonranger3-Feb-14 3:20 
GeneralRe: Choosing a development environment Pin
BrainiacV3-Feb-14 5:31
BrainiacV3-Feb-14 5:31 
GeneralRe: Choosing a development environment Pin
RafagaX3-Feb-14 5:32
professionalRafagaX3-Feb-14 5:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.