ITT: Chad programming languages

ITT: Chad programming languages

Attached: chad.png (243x213, 7K)

Other urls found in this thread:

community.schemewiki.org/?object-systems
lispworks.com/documentation/HyperSpec/Front/Contents.htm
lispworks.com/documentation/lw70/CLHS/Front/X_AllSym.htm
twitter.com/AnonBabble

Attached: 412os5GMTRL._SX330_BO1,204,203,200_.jpg (332x499, 24K)

>programming
>being a Chad
Nice try incel

Scheme >>>>> Common Lisp

after I learn Scala my next language is going to be erlang or one of it's derivatives

It's called Erlang because every time you try to code with it it makes you go "Er..."

It's called Lisp because everything you program in that language comes out wrong

Javascript is called that because you need a coffee to make sense of that script. And it's based on ECMAscript which stands for F-ECMA-LIFE

C is short for Cut because programming in C will make you want to cut yourself.

Python is called that because if you use it too much it'll bite you back and poison you.

Visual Basic is for basic bitches

Programming in Perl will make you clutch pearls and pray that your code still works

Go fuck yourselves

Attached: Scala_logo.png (493x202, 29K)

nice reddit spacing faggot

You take pride in only having spacing in your brain, huh?

There's something about Erlang that attracts autistic fake programmers. It's not that they actually know how to use the language, but for some reason they heard the general idea of it and think that it's somehow amazing or does anything that can't be easily accomplished in other languages. It's a highly specific tool that very likely does not fit your use case.

literally built by white men in a white country for white purposes, high concurrency, clarity and availability.
the programming equivalent of the LS1

>t. someone who's never written a single program in any of those languages

you take pride in not having a brain?

Scheme has a worse error handling system.
Scheme doesn't have namespaces.
Scheme doesn't have several optimizing compilers.
Scheme doesn't have a standard OOP system, so every implementation rolls their own non-portable solution.
Scheme is so reliant on implementation specific features that portability does not exist.
Scheme doesn't have #'setf.
Common Lisp >>>>>> Scheme

Attached: 1548725077790.gif (200x270, 1.09M)

learning erlang is exciting, it gives me the same feel when I was learning pascal back in like 10th grade, its new and interesting. its very different than anything else

kys fucking jew

now THAT is the language

Attached: java.jpg (1024x768, 151K)

Attached: J.png (135x135, 4K)

I've read Erlang and OTP in Action and some Elixir book. The language is pretty primitive, allegedly be design since this subset of features and data structures should be enough and robust to develop with; can deal with it. I failed to learn Standard ML and was annoyed by Haskell, but Erlang was comprehensible.
I was impressed how much is in the stack, from several databases that replace tools like Redis; virtual machine ready for distributed across several machines; the observer was an interesting tool.
Made a simple chat service. But ultimately haven't found use of it and was more interested into the VM internals and implementation than developing with it.

Attached: 51hiUgdU90L._SX218_BO1,204,203,200_QL40_.jpg (220x275, 9K)

Allegedly the implicit context that Blow is planning for Jai was inspired by Common Lisp. Really tempted to explore more of Lisp than just Scheme.

>Scheme doesn't have namespaces.
Literally nothing stopping you from creating macros which supply that feature.
>Scheme doesn't have several optimizing compilers.
Chez, chicken, bigloo, & Stalin are all optimizing compilers for scheme
>Scheme doesn't have a standard OOP system, so every implementation rolls their own non-portable solution.
community.schemewiki.org/?object-systems
Why does it need to be standard? One size does not fit all.
>Scheme is so reliant on implementation specific features that portability does not exist.
This isn't really a problem if you're compiling to C, as CHICKEN does, for example.
>Scheme doesn't have #'setf.
I can find no documentation of this right now. Mind explaining what it does?

>Chez, chicken, bigloo, & Stalin are all optimizing compilers for scheme
does Racket apply?

Possibly? I haven't looked into racket much. I figured I should list the ones that are first and foremost about optimization (Stalin & Chez being the big players)

I hate braces, but why don't you try the new pyhton with braces ext.

I don't know much about it. What makes you suggest it to lispers?

I admit that I kek'd for the Python one

>Scheme has a worse error handling system.
s/Scheme/Everything/

Attached: tcl tk.jpg (384x499, 34K)

"kys fucking jew" is an odd name for a programming language.

absolutely based

Attached: EA9BFB18-5DDF-41D0-91F1-CCD0CD4287E9.jpg (449x451, 52K)

>Why does it need to be standard? One size does not fit all.
This sums up the Scheme world view very well. A Scheme programmer assumes things like OOP and namespaces are trivial to do correctly and can be implemented with Scheme the same way a C programmer assumes things like memory management and bounds checking are trivial to do correctly and can be implemented with C. It's the broken mindset of someone who never has to do anything worthwhile or work with other people. Any Scheme with a community has also built their own custom dialect with useful features. The choice is not between Scheme and Common Lisp, but between a non-standard Scheme that poorly implements half of Common Lisp or Common Lisp. The correct choice is clear. I choose Common Lisp.

>I can find no documentation of this right now. Mind explaining what it does?
It's a macro that supports assignment. Rather than having set!, set-car!, set-cdr! and so on, Common Lisp has one form that can be modified to support new data structures.

Attached: 1549831799196.jpg (292x283, 13K)

I love erlang. Pity it isn't used more often.

>This sums up the Scheme world view very well. A Scheme programmer assumes things like OOP and namespaces are trivial to do correctly and can be implemented with Scheme the same way a C programmer assumes things like memory management and bounds checking are trivial to do correctly and can be implemented with C.
Memory management and bounds checking ARE trivial to do in C. I've written a variable size memory manager in ANSI C before, and it's honestly not as hard as you seem to be suggesting.
>It's the broken mindset of someone who never has to do anything worthwhile or work with other people.
I'll admit fully that this mindset is shared by dipshits who don't know what they're doing, but I'm not one of them. You're generalizing me before you've gotten to know my arguments.
>Any Scheme with a community has also built their own custom dialect with useful features. The choice is not between Scheme and Common Lisp, but between a non-standard Scheme that poorly implements half of Common Lisp or Common Lisp. The correct choice is clear. I choose Common Lisp.
This assumes that common lisp implementations do not differ, which they absolutely do.
>It's a macro that supports assignment. Rather than having set!, set-car!, set-cdr! and so on, Common Lisp has one form that can be modified to support new data structures.
This is neat. If all of CL were interested in this kind of simplification in syntax, I'd be all over it, but it's hard to deny the language as a whole is quite bloated and ugly looking.

>This assumes that common lisp implementations do not differ, which they absolutely do.
The same is technically true for C, but not meaningfully true. Common Lisp implementations differ as much as compiler specific C dialects, but nowhere near as much as Scheme.

>This is neat. If all of CL were interested in this kind of simplification in syntax, I'd be all over it, but it's hard to deny the language as a whole is quite bloated and ugly looking.
This has never been true. Common Lisp is very small. lispworks.com/documentation/HyperSpec/Front/Contents.htm

Come on now, you can't tell me that this:
lispworks.com/documentation/lw70/CLHS/Front/X_AllSym.htm
Isn't pretty damn big and overgrown.

what's Jow Forums's opinion on Elixir?

>lispworks.com/documentation/lw70/CLHS/Front/X_AllSym.htm
Looks small to me, user.

Attached: 1547974834290.png (665x672, 607K)

This post legitimately made me question my taste and my sanity. I want you to know what you've done to me.

I made you consider that other languages have a lot more baggage than Common Lisp. There are about 1000 symbols in that index, but they exist to provide a baseline convenience. Dealing with projects that have giant utility files that implement all the stuff the standard library should have gets very old. It would be better to just make the language more complicated and learn it then to relearn new poorly documented, untested, uniquely named functions for every project despite the fact that every project needs them. Common Lisp doesn't come with a fashionable GUI library or even a standard thread interface. It's very bare bones.

Don’t bother, Scala is better than erlang, jvm interop is really convenient.
I moved from erlang to scala, so you can trust me :)

Common Lisp still seems huge to me, and I'm a C++ programmer by day. I'm still a bit iffy on learning another language that spans such a large syntactic set. How much is necessary to be proficient and dangerous? I'm willing to be the "C with classes" guy of lisp.

The other thing is interoperability with C++ & performance. My understanding is CL doesn't require TCO - doesn't this affect performance?

>How much is necessary to be proficient and dangerous?
It requires very little to be useful. Best way to get good at it is to leave a Common Lisp REPL running and write functions inside of it instead of bash or perl scripts. You'll want quicklisp, the package manager. 'drakma' is the best HTTP client library and cl-ppcre is the best regular expressions library. If you like pattern matching, you can try cl-optima.

If you already know Scheme, a fair amount is transferable. Just don't write a bunch of recursive functions or try to avoid setf.

>The other thing is interoperability with C++
Someone was so annoyed with C++ interop they started working on their own Common Lisp with special support for it. I don't know what state it's in, but it's good enough he's using it for some fancy science simulators. It's called clasp.

>My understanding is CL doesn't require TCO - doesn't this affect performance?
Common Lisp is a multi-paradigm language, but mostly supports imperative programming. Tail call optimization isn't an issue because direct recursion is more of a Scheme thing.

Attached: 1548626941187.png (500x575, 216K)