Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,173,140 members, 7,887,296 topics. Date: Friday, 12 July 2024 at 06:14 AM

Why Doesn't Anyone In Nigeria Code In A Lisp - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Why Doesn't Anyone In Nigeria Code In A Lisp (4236 Views)

Lisp Language / Lisp Failed Because Of Snobbery / Any Lisp/scheme Programmers In Here? (2) (3) (4)

(1) (2) (Reply) (Go Down)

Why Doesn't Anyone In Nigeria Code In A Lisp by EfeAriaroo: 4:10am On Mar 02, 2013
Hi everyone. I'm aware the title of the post is an exergeration. I have noticed how many programmers are not concerned about learning a Lisp. They are perfectly fine with their Java and php repertoire. "Php and Java get the job done" is what you are likely to hear them say.

Compare the following Java code with that of Clojure:

public class StringUtils {
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
}


;;;;Clojure code that does the same thing
(defn blank? [str]
(every? #(Character/isWhitespace %) str))

Believe you me guys, the clojure code does the same thing as the Java code. Now, who wouldn't want to code in that?

The snippets of code were derived from the book "Programming Clojure" by Stuart Halloway and Aaron Bedra.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by WhiZTiM(m): 7:21am On Mar 02, 2013
What is "clojure"?

Well, will that same small line of code work on my friend's Blackberry? Android? my small Symbian S60? an S40?
I have 70% doubt.

I think Lisp is more applicable to Desktop and Server apps.
Its really great to have shorter codes... "the shorter the primitive code, the better the productivity, the less you control resource".

Personally, I am okay with Python as my 2nd Language...
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 2:48am On Mar 03, 2013
Use the right tool for the job wink Personally, I write Scheme/Racket and a little Clojure but just for fun!

1 Like

Re: Why Doesn't Anyone In Nigeria Code In A Lisp by EfeAriaroo: 4:34pm On Mar 03, 2013
@Fayimora ... very cool. I just feel lisps should be used more. They force one to know more about programming. Example, through my time learning Java I never read about prefix notation, how code can be data, higher order functional programming, or closures, or macros or lazy programming etc I feel programmers need to know about these things.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by EfeAriaroo: 4:42pm On Mar 03, 2013
@WhizTim You can now write clojure for android. In fact, one of the reasons Clojure is so cool is that Rich Hickey, its creator, wanted a Lisp that fixes the concurrency problem with non-mutable persistent datastructures but he also wanted it to be possible for the lisp to be used in whatever context that Java could be used. I'm not trying to start an argument here.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 8:37pm On Mar 04, 2013
I agree with you. However, you need to understand that the "brackety" nature of any Lisp dialect puts a lot of people off. I actually hated ignored lisp for a while too. I still do not envy it but this is mainly because I enjoy Haskell and Scala. Both provide me with the FP constructs/semantics I'm after. Scala is also in production in A LOT of places. IMHO, it is going to be a WHILE before Clojure gets proper traction.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by csharpjava(m): 8:58pm On Mar 06, 2013
There a four major programming paradigms, they are:

Object-Oriented: "C#, Java, C++, SmallTalk, Python"

Functional: "Lisp, Scheme, Haskell"

Imperative: "C, Ada, Perl"

Logic: "Prolog, Sql, HTML"

Your choice of programming language will depend on the paradigm that is best suited for the application you want to develop. The most popular paradigm today is Object-Oriented paradigm which is a representation of the real world around us, this is why we have so many C#, Java and C++ programmers.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by fallguy(m): 3:03am On Mar 10, 2013
lisp is shunned because of psychological rather than technical reasons.

my theory is - once a person learns a speaking language formally,
he thinks in this language and concocts abstractions with it.
therefore after he becomes proficient in using his thinking language,
inertia, reluctance and drag sets in to learn another thinking language.
That is why, people can unconsciously read a headline on a newspaper
while in rush hour traffic (because english etc is their thinking language)
than read a methamatical symbol ,formula.
after they man learnt english, (which takes time but is amelioriated because he started
learning as a child),
he's now conversant with english, unconsciously thinks in it -
so any programming language that approximates the thinking language of the common
man will be more quickly adopted even if its not too unpardonably verbose.
Java is nearer to english than lisp.
c,c++ will never have a large following because of their difference from english
and kids will continue to be scared of maths because of its polar distance from english,
not really that the concepts represented by the garish space saving symbols are
so hard to understand.
Visual basic is the most popular language of all times ? why? - its the nearest to a thinking language(english) there is.
and its nearness to an already familiar thinking tool , makes newcomers forgive whatever
performance flaws it has rather than try to relearn,painfully, a new set of strange
symbols and rules ( a new language).

language(in earlier contexts) = non programming language . speaking language.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 1:40pm On Mar 10, 2013

@fallguy seriously? Mate you really do have a lot of wrong assertions in your post.

FYI, from a "programming standpoint", compared to any dialect of Lisp, Java and VB are kinda too verbose IMHO!

"C/C++ will never have a large following because of their difference from english"
WHAT ? ? ?

"Visual basic is the most popular language of all times ? "
WHAT? ? ? Any reasonable references/statistics?

and the worst of them all

"lisp is shunned because of psychological rather than technical reasons."
WHAT? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 1:45pm On Mar 10, 2013
csharpjava: There a four major programming paradigms, they are:

Object-Oriented: "C#, Java, C++, SmallTalk, Python"

Functional: "Lisp, Scheme, Haskell"

Imperative: "C, Ada, Perl"

Logic: "Prolog, Sql, HTML"

Your choice of programming language will depend on the paradigm that is best suited for the application you want to develop. The most popular paradigm today is Object-Oriented paradigm which is a representation of the real world around us, this is why we have so many C#, Java and C++ programmers.


I definitely love the OO way of thinking. However, the FP way is even more fun. Bringing them together(Scala I love you) is BRILLIANT!
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by csharpjava(m): 3:03pm On Mar 10, 2013
Fayimora:
I definitely love the OO way of thinking. However, the FP way is even more fun. Bringing them together(Scala I love you) is BRILLIANT!

Mozart Programming System is even better it brings together all four programming paradigms: Object-Oriented, Functional, Imperative and Logic.
"Mozart: It compiles to an efficient platform-independent bytecode that runs on many varieties of Unix and Windows, and on Mac OS X. Distributed programs can be spread out over all these systems. The Mozart Web site, http://www.mozart-oz.org, has complete information including downloadable binaries, documentation, scientific publications, source code, and mailing lists"

Try Mozart and you will love it forever!
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by fallguy(m): 4:44pm On Mar 11, 2013
@fayi google most popular language. Do ur research. The nearer a language is to a speaking/thinking language the more it will b adopted even at the risk of xtra verbiage. because u think (more easily) in the language u speak in. (or write in 4 second language folks). More people adopted java over cpp , c cuz java is nearer english (a natural thinking/speaking language) than its predecessors wtout being as diluted as vb. If ur still confused by ths theory talk it over with ur professors.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by bb6xt(m): 1:12am On Mar 13, 2013
Here's some cold water to douse the flames. There aren't many Nigerians coding in lisp because most Nigerian programmers figured it'd be easier to just walk than to lisp.
Python#Java#NodeJS#VB.Net n counting!
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by EfeAriaroo: 11:23am On Mar 16, 2013
I think people satisfied with just PHP and Java like languages are not concerned about the art of programming. this is fine, I think. what they care about is knowing more and more frameworks on top of what they already know and making money with PHP and csharp and Java. this is also fine, I think. we are different ... we will be drawn to different things. someone who used math to solve problems in a course in engineering as an undergraduate is far different from someone who has a Doctorate in mathematics.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Nobody: 11:30am On Mar 16, 2013
to be frank, i don't know Lisp, but my assumption is that, people are comfortable with their tools which is a bit wrong, most concepts from other languages, am sure you see PHP adopting some features in other langs, i try to make it an habit to upgrade my skills, other should try, its worth it. ^^ lemme guess Efe from Aptech
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by WhiZTiM(m): 6:26pm On Mar 16, 2013
Being comfortable with your tool is not in anyway wrong, as far as its of optimal efficiency, No problems!!
...ohkay, are you going to ask Mozilla, Apache, etc to use Lisp for the entirety of some of their project...?
There are places where C/C++ clearly dominates! And, CURRENTLY, it is overly foolish to replace it with Scala, Lisp, Java etc.

From the little I know of Lisp, it is really great! And highly recommended to any one that wants a good mix of efficiency and productivity!

And so, it boils down to personal choice, employer's choice, or project's domain...

And me sticking to C, C++, Python, PHP, and Erlang is a personal choice.

Theres no need to argue about languages, though it is good to guage programming productivity w.r.t your Software's goal.

@csharpjava, suggesting Mozart, it doesnt look bad... And quite frankly, for the past 5+years of programming, I am just knowing(as in, in detail) about that Language!!
Do you code in it?? ...reasons?
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by csharpjava(m): 8:52pm On Mar 16, 2013
WhiZTiM:
@csharpjava, suggesting Mozart, it doesnt look bad... And quite frankly, for the past 5+years of programming, I am just knowing(as in, in detail) about that Language!!
Do you code in it?? ...reasons?

I used it for my final year project in Programming Paradigms, have not had the chance to use it again as the environment I find myself now is based on .Net and C#. I would still try and find sometime to dig further into this great Mozart language.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 9:13pm On Mar 29, 2013

What's the advantage in bringing those 4 paradigms into one language? Not really seeing any reasonable advantage. Sounds like an overkill to me...might be wrong though so enlighten me wink

I'd rather have 5 tools that each do their respective job properly than have 2 that try to accommodate for all 5.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by csharpjava(m): 10:10pm On Mar 29, 2013
Fayimora:
What's the advantage in bringing those 4 paradigms into one language? Not really seeing any reasonable advantage. Sounds like an overkill to me...might be wrong though so enlighten me wink

Maybe this answer might make you change your mind.
“Different schools of thought have developed, based on different ways of viewing programming, called “paradigms”: object-oriented, logic, functional, etc. Each school of thought has its own science. The unity of programming as a single discipline has been lost"
"Teaching programming in this fashion is like having separate schools of bridge building: one school teaches how to build wooden bridges and another school teaches how to build iron bridges. Graduates of either school would implicitly consider the restriction to wood or iron as fundamental and would not think of using wood and iron together. The result is that programs suffer from poor design.” Roy and Haridi (2005, p.x_x_x)
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by lordZOUGA(m): 11:21pm On Mar 29, 2013
Fayimora:
What's the advantage in bringing those 4 paradigms into one language? Not really seeing any reasonable advantage. Sounds like an overkill to me...might be wrong though so enlighten me wink

I'd rather have 5 tools that each do their respective job properly than have 2 that try to accommodate for all 5.
please, how is it an overkill for a language to have up to 4 paradigms? it is not as if using one paradigm means you have to know about all the other paradigms..
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by ektbear: 6:43am On Mar 30, 2013
Lisp has too many damn parentheses. Too annoying a language
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 8:33pm On Mar 30, 2013
using lisp equivalent to having a phD - what a misplaced analogy. I've explored lisp erlang vb c++ c etc. For me, most of these touted languages suffer frm cryptic syntax, very poor documentation (despite textbooks having rave reviews on amazon - 90 percent of technical books for learners are junk) , poor gui frameworks. Lisp is akin to pen or sculptors chisel nothing about learning to use a language makes hyper learned. Fix ur thinking. Uv probly read 2 much of lisp fan drools online. U wanna knw wht the equiv of phd level thnkg is- read abt von neumann, alan turing , history of lisp, lisp machines and pioneers etc. That u can use lisp or language x dnt make u special/smarter .
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 1:06am On Jun 09, 2013
EfeAriaroo: @Fayimora ... very cool. I just feel lisps should be used more. They force one to know more about programming. Example, through my time learning Java I never read about prefix notation, how code can be data, higher order functional programming, or closures, or macros or lazy programming etc I feel programmers need to know about these things.

ostensibly, but in my experience if u program w/o hand holdg and props on really interestg projects tht stretch ur mind, u'll discover , if u also appreciate elegance,
many concepts touted by popular technologies. Y? Some problems demand these new solutions.
E.g if u write som oop code for a while u'll com upon d mutability issue tht threatens d integrity of ur data. As u begin wrtg defensvely u wont know wen ull b wshg 4 lockable classes - the immutability provded xplctly by functional languages.
In other wrds, u can learn and encounter ideas even wen wrkg in isolation frm frml documentations of thse ideas.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by megaplaza(m): 6:45am On Jun 09, 2013
Lisp is not popular because it's a funtional programming language which the programming community is yet to adopt like Other paradigm. How many IT organisations uses Lisp Fb? No, Google? No, Microsoft? No, Yahoo?? No, etc

Use what works for you, Truth is that programming in Lisp will lead to a paradigm shift in way of thinking and will lead to a cultural shock which not many programmers are ready to take and above all, how often do you see a job opening requesting for Lisp expert or Knowledge? People learn what can get them a job.

NB: this is just my opinion.

1 Like

Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 1:44pm On Jun 09, 2013
@megaplaza
actually, theyre lisp jobs just like theyre cobol jobs. But theyre in d the dwindling minority.
Theyre legacy lisp systems and lisp corporations and heavily ai projects usg lisp . But in naija , i dnt thnk. To begin with ai programmg may require serious maths/cs credentials beyond knowledge of a language, lots of research fundg etc thngs we dont do here. In naija its all about rushg to make a quick profit the quickest way possible hence reliance on d most widespread tools.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 8:37am On Jun 10, 2013

@lordZOUGA huh? Mind elaborating?

@csharpjava I understand but I still don't see a practical reason to have that.

@kambo Lisp has its flaws but talking about things like "poor GUI frameworks" is quite pointless, no pun intended.

@megaplaza after having a chat over the past year with developers, Lisp is "not popular" simply because of its speed. Clojure - mainly because of it's interoperability - is rapidly flushing that thought. And for the record, except you have hard evidence, you are probably better off not saying things like "Company X doesn't use Lisp". Competitive advantage exists in so many forms wink.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 1:25pm On Jun 10, 2013
Fayimora:
@kambo Lisp has its flaws but talking about things like "poor GUI frameworks" is quite pointless, no pun intended.

Yeah right. looks and convenience dont also matter right?
java's great strength comes from among other things having a bundled gui framework, and networking library. tell me a programmer who got started on java wouldnt find it uncomfortable expressing himself with a faceless (guiless ) alternative where he has to juggle from a list of unstandardized infrequently maintained often shabbily documented alternatives with variable performances. Think of wat the c,c++,ruby programmer goes thru to fit a face to his apps and tell me gui and similar conveniences dont matter.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by lordZOUGA(m): 1:29pm On Jun 10, 2013
kambo:
Yeah right. looks and convenience dont also matter right?
java's great strength comes from among other things having a bundled gui framework, and networking library. tell me a programmer who got started on java wouldnt find it uncomfortable expressing himself with a faceless (guiless ) alternative where he has to juggle from a list of unstandardized infrequently maintained often shabbily documented alternatives with variable performances. Think of wat the c,c++,ruby programmer goes thru to fit a face to his apps and tell me gui and similar conveniences dont matter.
developing GUIs with qt C++ is probably easier than developing with java.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 1:40pm On Jun 10, 2013
lordZOUGA:
developing GUIs with qt C++ is probably easier than developing with java.
maybe, but qt's visual contribution made c++ a more viable alternative. visual basics drag and drop easy-as-cheese gui creation has spoiled a generation of vb coders.
qt is a million dollar+ effort ,mostly visual contribution to the c++ communty.
netbeans,eclipse are all following the ms steps and automating the gui creation process.
point: gui matters ,in the long run.
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by Fayimora(m): 7:06pm On Jun 13, 2013
tell me a programmer who got started on java wouldnt find it uncomfortable expressing himself with a faceless (guiless ) alternative where he has to juggle from a list of unstandardized infrequently maintained often shabbily documented alternatives with variable performances.
ME! tongue I did not care about GUIs for a while and I impressed a lot of folks with my work. I guess I'm more interested in writing functional and efficient systems than making nice GUIs.


When selecting a language for a task, a good GUI framework is barely a requirement, it is just a desired feature of the language. If you are using C/C++ then I doubt you are planning on writing a GUI in the first place. If you are using Ruby, you are most likely writing a utility or a web app, in which case you still do not need a GUI framework.

My point is, use the right tool for the job. For example, assume you have a webapp to build for someone. Personally, if I know Rails will be easier and better due to lots relationships and blah blah, I hack it in Rails. Otherwise, I might just hack a backend in Scala or JavaScript(NodeJS) and write a front-end in HTML/CSS/JS. I might even go crazier and hack the backend as re-usable components in multiple languages(currently doing something of this nature).

So it's up to you to decide, should I use Java because it has swing? or will a web service with a front-end serve me right here? or will a set of re-usable components be a better? or will language X be better because it has good FP and Concurrency support?

Just as a side note, I now consider Java "not worth learning" lol

Cheers
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by bobdobbs: 11:27pm On Jun 13, 2013
Lisp (Common lisp/Scheme/clojure ect) doesn't really have any syntax, just the parenthesis everywhere.
This is why it's usually taught first at schools like MIT because you don't spend forever learning syntax you just start coding.

An easy way to learn functional code is go on the Racket/Scheme website and go through the free learning materials.
http://racket-lang.org/learning.html "How to design programs" is basically a rewrite of SICP

If you know Lisp, then doing languages like C or Python is a joke, can learn their syntax in a weekend or so because you already have all the fundamentals. You can make Lisp OO easily too. Lisp is so powerful you can do anything you want including making up your own new language with it, you aren't limited by high level
Re: Why Doesn't Anyone In Nigeria Code In A Lisp by kambo(m): 2:10am On Jun 14, 2013
Fayimora:
ME! tongue I did not care about GUIs for a while and I impressed a lot of folks with my work. I guess I'm more interested in writing functional and efficient systems than making nice GUIs.


When selecting a language for a task, a good GUI framework is barely a requirement, it is just a desired feature of the language. If you are using C/C++ then I doubt you are planning on writing a GUI in the first place. If you are using Ruby, you are most likely writing a utility or a web app, in which case you still do not need a GUI framework.

My point is, use the right tool for the job. For example, assume you have a webapp to build for someone. Personally, if I know Rails will be easier and better due to lots relationships and blah blah, I hack it in Rails. Otherwise, I might just hack a backend in Scala or JavaScript(NodeJS) and write a front-end in HTML/CSS/JS. I might even go crazier and hack the backend as re-usable components in multiple languages(currently doing something of this nature).

So it's up to you to decide, should I use Java because it has swing? or will a web service with a front-end serve me right here? or will a set of re-usable components be a better? or will language X be better because it has good FP and Concurrency support?

Just as a side note, I now consider Java "not worth learning" lol

Cheers

you miss my point. typical programming is learnt in a desktop mode first b4 proceeding to web ,mobile aspects. in this way, most programmers who learnt how to program by writing
console apps , would be more comfortable writing gui apps if they know the library for the gui is included in the language of their choice.
when one wants to display some gui and needs to go fishing for some library somewhere
it increases the resentment and disgust for the particular language.
I too am mor functionality based. infact, i get lazy fitting a face (gui) to most of my works cuz once i'm thru with the functionality i wanna move on. but for the few times i've had to fit a face - its been convenient to know theyres a standard way to do so - not competing ways and large installation required (as is the case with qt etc).
languages with inbuilt gui's ar just mor appealing. this is one reason languages without
easy gui support may be unattractive to those spoiled by everything within reach languages.
its not only gui only, modern languages come with libraries that make programming more fun, java comes with a networking library,inbuilt, prior to that c++,c programmers had
to grab networking libraries , threading libraries from some where -
a java (or csharp programmer) going back to use less richer languages (library wise)
would wear a long face all day at work. convenience is attractive-
.

(1) (2) (Reply)

Remote Jobs / Where Can I Get Books On Programing In Lagos / I Want To Start Building Android Apps. What Kits Do I Need?

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 116
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.