[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Should I learn Lisp as a first language? I feel... attached

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 53
Thread images: 8

File: LISP_logo_big.png (8KB, 615x425px) Image search: [Google]
LISP_logo_big.png
8KB, 615x425px
Should I learn Lisp as a first language?
I feel... attached to it somehow.
>>
>>59520127
Start with r5rs, proceed from there.
>>
>>59520127
Common Lisp
>>
>>59520149
Quick rundown?
>>59520173
Downloaded it, will start tomorrow.
>>
>>59520127
Lisp seems dated to me. Better to learn Scheme or Racket.
>>
>>59520127
No, It makes people speak funny.
>>
>>59520127
Nah, learn Python my dude, you won't regret it
>>
File: 1485444503507.jpg (937KB, 2272x1685px) Image search: [Google]
1485444503507.jpg
937KB, 2272x1685px
>>59520622
>Scheme or Racket.
Haven't heard about these, I want to start out with old languages because it should give me a good base to move on? I feel like new ones hand-hold too much
>>59520640
I'm doing that as well but I wanted to know if Lisp is worth a damn for anything, I just really like it for no good reason.
>>59520637
forgot carlos image
>>
How do you feel attached to it if you never learned it?
>>
>>59520622
Scheme is older than Common Lisp.
>>
>>59520671
>Haven't heard about these, I want to start out with old languages because it should give me a good base to move on? I feel like new ones hand-hold too much
Abstraction is actually a good thing my friend. But learn whatever you want.
>>
>>59520127
>Should I learn Lisp as a first language?
Sure, there's nothing wrong with that. Lisp is easy to grasp and a great learning tool.

It won't teach you any modern design patterns that will be fairly necessary for a wide variety of practical implementations, but you don't need to worry about that kind of thing when you're first starting out.

I think MIT still teaches their introductory CS course using lisp, though they may have changed it.

You might consider reading through SICP, which makes heavy use of lisp, argues for its utility as a first language, and is the book MIT uses for their aforementioned introductory CS course.
You can read through a pleasant online version at http://sarabander.github.io/sicp/html/index.xhtml

I would recommend you read the foreword and prefaces right now. They're short, inspirational, and relevant to the conversation of lisp.
>>
>>59520671
Use Clojure
>>
>>59520771
Do keep in mind if you're looking towards Common Lisp, you'll encounter some hangups along the way reading this book, since it uses Scheme.
>>
File: 1342196743606.png (980B, 152x134px) Image search: [Google]
1342196743606.png
980B, 152x134px
>>59520127
Racket Lisp was my first language and I can't recommend it enough. How to Design Programs is an excellent guide to programming for beginners, especially because it targets the biggest problem: "How do I START something from basic steps?" and gives concrete advice. It's great as a prequel to SICP ("How do I UNDERSTAND something from basic principles?") or even just on its own. I still use the design recipe when working on problems because it's a great way to break shit down into straight-forward sections.

The language also has the best docs I've ever used, and it comes with a "batteries-included" editor for beginners that has integrated debugging and step-by-step evaluation.

I've been programming for years so I've run up against the warts and hassles of Lisp languages a lot (loading/evaluating a huge file or module only to realize that somewhere there is one line or fragment that's attempting to access the first element of an empty list at runtime made me want to pull my hair out), but it's a great language for beginners who work on smaller projects and it "grows" well in complexity along with the programmer's skill (as opposed to Java/C++ that start off very complex for beginners). Then, of the lisp languages, Racket's my favorite and the one I usually recommend to people asking for a Lisp language choice.
>>
File: 1481393174607.jpg (180KB, 500x658px) Image search: [Google]
1481393174607.jpg
180KB, 500x658px
>>59520706
No clue, it just feels right
>>59520750
>Abstraction is actually a good thing my friend. But learn whatever you want.
ok
>>59520771
Alright anon! This was the answer I was waiting for. I'll copy pasta this into a notepad
>>59520825
I'll keep this in mind.
>>
>>59520825
>(loading/evaluating a huge file or module only to realize that somewhere there is one line or fragment that's attempting to access the first element of an empty list at runtime made me want to pull my hair out)
What Lisp was this? CL lets you do this.
>>
File: A-Series-Cutaway.jpg (506KB, 1810x1678px) Image search: [Google]
A-Series-Cutaway.jpg
506KB, 1810x1678px
What is better during run time?

C or Lisp?

What has better performance!?!?!?!?
>>
>>59520127
>I feel... attached to it somehow.
The spirit of the machine lives in you
>>
>>59520934
>What has better performance
C obviously. Performance is not the point of lisp, expressiveness is.
>>
>>59520934
Depends on the use case.
>>
>>59520945
But if I was to make a AAA game engine in Lisp, could it run awesomely?
>>
>>59520965
Maybe. I use Lisp, but I probably wouldn't use it for a game engine because of the GC. There are game engines in Lisp though.
>>
>>59520973
GC?

I can only think of GameCube
>>
File: 1466603263874.jpg (147KB, 640x675px) Image search: [Google]
1466603263874.jpg
147KB, 640x675px
>>59520935
cool, that might explain my fetish for helping everyone with their computers/restoring old computers/making old netbooks run fast.
>>59520945
>expressiveness
You mean readability? Explain
>>
Pointers and recursion are perhaps the two most fundamental concepts you'll want to learn. An intuitive understanding of the two is what separates the programmers from the Indians.

Lisp very naturally gets you used to both. There's a reason MIT uses Scheme.
>>
>>59520992
Garbage collector. Usually you want to be in control memory management in a game engine.
>>
>>59520603
>>59520173

this, Common Lisp has the most libraries of any Lisp

>>59520730

Common Lisp's standard is better supported

>>520934

bighuge Scheme compilers have outperformed C ones and Lisp as a language is easier to optimize

>>59521000

the REPL and various IDE's like Emacs built around the language, and code-is-data-is-code are the most enlightening aspect of Lisp imo
>>
>>59521009
Is it as trash as Javascript?
>>
>>59521009
control of*
>>
Another, more /biz/ leaning question. I don't want to learn CS or EE and like programming. Should I just get some certificates and shit and choose another career? Programming/Tech is a bit saturated nowadays.
>>59521014
Right, so I'll do Common Lisp or Scheme? I'll probably start another thread tomorrow since it's 12:06AM and I have to get some sleep.
>>
>>59520671
>Too much hand holding
OK, make a trillion dollar product really quick and then you'll have plenty of time to learn every other language you want.

All "I want to learn _old ass language_" fags are the same, you want to "learn" an old language as some rite of passage into the cool nerd club without respecting languages people actually use.

Want a big dick? Make something.
>>
>>59520993
>You mean readability?
No.
"Expressiveness" is a property of a language that denotes how easy it is for a programmer to take their thoughts and make the language carry them out. A language that requires you to go through a whole song and dance of random shit not directly related to the algorithm you're thinking about is said to be less expressive.

Languages that are very efficient tend to require the programmer to specify many small details about the specific implementation of their algorithm before anything can actually be done. These languages tend to not be very expressive.

In general (but not always), a language that is more expressive will be less efficient but also less frustrating to write in.
>>
>>59521015
God no. Javascript is horrible.
>>
>>59521032
I learned Common Lisp first, but it's up to you. Scheme just appears cleaner, but I prefer the tools CL provides right out the gate.
>>
File: 1474572918698.jpg (487KB, 1532x882px) Image search: [Google]
1474572918698.jpg
487KB, 1532x882px
>>59521040
Alright, that sounds neat.
>>59521038
Projecting a lot, Python is up there on my list of shit I need to get in on but my autism craves Lisp
>>59521055
I'll just hit that Common Lisp.
>>
File: isnegative.jpg (34KB, 694x732px) Image search: [Google]
isnegative.jpg
34KB, 694x732px
Fuck off with this "what language should I learn?" bullshit.

If you actually planned on learning anything you'd be doing so instead of bugging /g/ about it.

But no, instead you're procrastinating. You're swept up in the planning stage because you know you're never going to amount to anything and don't even want to take the risk of failing.

Fuck you.
>>
>>59521069
In that case, you can clone Roswell (https://github.com/roswell/roswell) if you want to get up and running quickly. The usual route is to get emacs, install a Lisp compiler (SBCL is recommended), install SLIME, install quicklisp, and then whatever else to make your life easier (I use Paredit to manage the parens so I don't have to as much). Take your time with it, and have fun most of all.
>>
>>59521095
This projection stopped being a projection too soon. Everything you just said is true but I WANT to learn Lisp, I don't NEED to which means I'll enjoy it a lot more doesn't it?
>>
>>59521055
heh, always thought geiser was more polished than slime if that's what you're talking about

i do wish the documentation was half as good/centralized in scheme as it is in common lisp though
>>
>>59521095
In Lisp, this is just
(minusp x)

or
(< 0 x)

or you can encode this in a datatype.
(lambda (x)
(declare (type (integer * -1) x))
x)
>>
>>59521161
but can you make a game with that?
>>
>>59521125
I was leaning more towards things like being able to call functions without having to use funcall. Mostly syntactic issues that get noisy after awhile. Just a small example, but it really starts shitting up your code if you have to use it a lot.
>>
>>59521174
Sure. If you have some imagination.
>>
>>59521206
I want full 3d capabilities with network stacks that don't suck
>>
>>59521267

It would be a ton of work that you are probably arent capable of but its possible.
>>
>>59521267
https://github.com/lispgames/lispgames.github.io/wiki
>>
>>59521430
those games look like doodoo my dude
>>
>>59521477
That's because they weren't developed by triple-A studios with large budgets.
>>
>>59521069
>Projecting
Not an argument.
>>
>>59520771
MIT changed it to Python, which is unfortunate.

Source: am MIT prof.
>>
>>59521524
is that because there's a reason for that?
>>
>>59520965
>AAA game engine in Lisp
There are big engines made in C# so Lisp engine should also be reasonable.
You should probably first write you engine in lisp, profile and then rewrite some parts in C if you need more performance.
Thread posts: 53
Thread images: 8


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.