Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "lisp"
Whenever I come across some acronyms...
CD-ROM: Consumer Device, Rendered Obsolete in Months
PCMCIA: People Can’t Memorize Computer Industry Acronyms
ISDN: It Still Does Nothing
SCSI: System Can’t See It
MIPS: Meaningless Indication of Processor Speed
DOS: Defunct Operating System
WINDOWS: Will Install Needless Data On Whole System
OS/2: Obsolete Soon, Too
PnP: Plug and Pray
APPLE: Arrogance Produces Profit-Losing Entity
IBM: I Blame Microsoft
MICROSOFT: Most Intelligent Customers Realize Our Software Only Fools Teenagers
COBOL: Completely Obsolete Business Oriented Language
LISP: Lots of Insipid and Stupid Parentheses
MACINTOSH: Most Applications Crash; If Not, The Operating System Hangs10
Interviewer: What is your native language?
Interviewer: The programming language?
Python -> indentation
HTML -> <!doctype HTML>
C++. -> int main()
PHP. -> <?php ?>
These are the fundamentals for some popular languages. Than there is this;
Lisp. -> ()
Like it doesn't give a fuck.
Not a single one.
I like that.11
I've got a mini stroke today. My project ended and I got delegated elsewhere.
"It's going to be fine, it's c++, you will find yourself there"
Suspicious, it's a project everybody was staying out of as hard as they can. But hey, it's cool, how bad can it be? what can go wrong with that?
Reality was brutal, project that uses Boost C++ as framework and bjam as builder. Builds with a decent dose of luck, and only under special circumstances, only under one specific version of compiler. No docs, quartet of the code is in Fortran, just to use ancient lisp part which was second qarter. The most senior Dev around does not have idea how it all works. Also everything is inside one enormous try/catch block. Because of the reasons.
That's how people end up with severe alcoholism and meth addiction.8
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8
Vacation in Delphi
After a basic cup of java, I wanted to go to the c and meet Ada, who cured her common lisp with a batch of elixir. On the way, I had a swift Smalltalk with Pascal, who has a brainfuck, because he is a wyvern enthusiast.
I also found a shell with a perl in it, but it had a scratch. This reminded me of my friend Ruby, who has a pet python and loved a good scheme à Shakespeare.
I then started my laptop, which already collected rust on its logo of a maple, and browsed the web for groovy songs. I found a song by Julia, performed in a very high octave in F#.4
Sooo, in my 5 years of high school, I had 5 different IT teachers...
Now, in Italy Highschool goes from 14 to 19 years old, I started programming some days after becoming 13, and "programming" classes begin on the third year, so I had quite a headstart on my classmates...
Now, for the third year, I had an awesome teacher, he noticed I was ahead and... Bored, so he gave me some extra stuff to study, he's the only teacher I've learnt anything from, it was awesome, very stingy with grades, but getting a perfect score with him was so satisfying.
Fourth year, the new guy was old, very old, at least 70, his lessons were just him talking about how programming was when he was young.
But then... During the second half of the fourth year I changed class due to bullying under a teacher's advice, and HE happened...
My new IT teacher, one of the most ignorant, awful people I ever met...
He's literally the reason I only went back to that school once, because another teacher needed help with a course...
One day I made the HUGE mistake to say that his "while(i <10000000000000);" wasn't very efficient for making a delay, because it didn't free the CPU, and since then:
- I never got more than 7 out of 10 at his tests
- He insulted me in front of the whole class
- He sabotaged the oral part of my final exam, shouting that he hated D'Annunzio when he saw he was in the literature part of my thesis (needed him to connect to WW2, and the Memex, that then allowed me to start talking about PCs and programming, my thesis was about the influence of lisp on modern programming languages), loudly chatting with other teachers when I was trying to keep calm (a teacher who knows me quite well, and was there to see my "performance" thought I was going to snap at some point), distracting the english teacher when I was exposing the english part of my thesis and pressuring the commission to give me 99 instead of 100 out of 100
So yeah, he almost made me hate the only thing I'm good at, undervaluing my work and my skills, undervaluing and humiliating me as a person, and I think that if I meet him again I might spit on his face...
So yeah, my biggest "programmer enemy" was a person that then did everything in his power to make my last year and a half of highschool hell
Now I can gladly say that with the help of my tutoring, some of my university colleagues are starting to appreciate programming, and my engineer friends ask for my help when they need advices about their code, and it's giving me motivation to keep doing it and becoming a better programmer to keep up with their expectations4
If programming languages had honest slogans, what would they be?
-C : Because fuck you.
-C++ : Fuck this.(- Dan Allen )
-Visual Basic : 10 times as big but only 5 times as stupid.
-Lisp : You’re all idiots.
-Scala : That was a waste of 4 weeks.
-Go : Tell me about it, Scala.
-Python : All we are saying, is give un-typed a chance.
-R : Whoa, I was supposed to be a statistics package!
-Java : Like a Roomba, you guess it’s OK but none of your friends use it.
-PHP : Do Not Resuscitate.
-Perl : PHP, take me with you.
-Swift : Nobody knows.
-HTML : No.
-CSS : I said no.
-XML : Stop.
end of my functions:
I read somewhere that you can go to Adolf Hitler Wikipedia page from any other wiki page within 5 clicks!
Here's what I tried.
List of Programming Languages -> Lisp -> Massachusetts Institute of Technology -> World War II -> Adolf Hitler8
From my last job interview (which I got hired btw)
Lead developer: "so we see quite a lot of frameworks that you listed for php, Laravel,cakephp, codeigniter, we really like the idea of them but have not had the opportunity to use them since as you might know by know our pages run over basic and small scripts, you also listed some cool front end frameworks, react looks amazing and I do have somr experience. Tell me, if given the choice, which framework would you use for php?"
Me: Really depends on the project, but the ones that you have described previously seem that they would not really benefit from them, we should not use them if they are overkill or will not expand to anything else on the future"
Him: "But given the choice?"
Me: my own framework, completed it a couple of days ago, it has its own routing system and everything made by yours truly, used it before on some projects in which the developers work with it with no need to ask me about stuff, the documentation is sound and the code rather simple. Php is and can really be all you need depending on what we are talking about."
Him: **stands up, moves closer to me and fist bumps**
"All right now moving on, i was wondering abouy redux, what are the benefits of..."
Walked out of there like a boss, it got interesting when we started talking about Lisp, apparently they are interested in putting some Clojure to test in small things since they want to learn new things and apply them. Yup, this gon b good!!4
"If you wanted to improve your X skills, then the Y video course is exactly what you need"
No, fuck off with your promoted bullshit, if your course needs this kind of advertisement, then I can already hear your fucking heavy accent and lisp throughout a fucking shitty 360p video.
I aghast there is no complete list of coder handles, here's my attempt (sourcing from others)
* AngularJS - Angularians
* Cocoa - Cocoa Heads
* Dart - Dartisans
* EmberJS - Emberinos
* Lisp - Lispers
* Node - Nodesters
* Go - Gophers
* Python - pythonistas
* Perl - Perl Monks
* Python - Pythonista
* Ruby -Rrubyists
* Rust - Rustaceans - https://teespring.com/rustacean/...
* Scala - Scalactites
Programming Languages are Like Cars:
Assembler: A formula I race car. Very fast but difficult to drive and maintain.
FORTRAN II: A Model T Ford. Once it was the king of the road.
FORTRAN IV: A Model A Ford.
FORTRAN 77: a six-cylinder Ford Fairlane with standard transmission and no seat belts.
COBOL: A delivery van. It's bulky and ugly but it does the work.
BASIC: A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one.
PL/I: A Cadillac convertible with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.
C++: A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler).
ALGOL 60: An Austin Mini. Boy that's a small car.
ALGOL 68: An Aston Martin. An impressive car but not just anyone can drive it.
Pascal: A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types.
liSP: An electric car. It's simple but slow. Seat belts are not available.
PROLOG/LUCID: Prototype concept cars.
FORTH: A go-cart.
LOGO: A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn.
APL: A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek.
Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you.
Java: All-terrain very slow vehicle.11
New position at work. Lots of power in regards to tech stacks of my choice.
I feel like Neo.
First project was finished in a week using Clojure. A basic application that would automate the process of adding our students into a particular active directory system in which many other things happen at the same time including updates to pins and other shit as well as networking and wifi permissions. Works fast as fuuuuuuuuuck, the alternative existed(somewhat) in php and while there was nothing wrong other than speed I wanted to show the head of my department what i could do.
It was anticlimactic as fuck. I thought it was gonna take me longer. It fucking didn't and i am glad as shit. It is now working like an absolute powerhouse in its own environment and being monitored by the sys admins, they loved how easy it was to deploy and how well behaved it is.
The head of the department is impressed as fuck and the board of directors got a hold of it. Reason being that I am being displayed as some sort of wizard that used ancient alien tech in the 21st century.
Fuck yes, major win.
I also get to add Clojure to my resumee. Hod even said that if needed be they will rethink my salary to add the fact that i get to use this tech where no one else can.11
If programming languages were countries, which country would each language represent?
Disclaimer: its just a joke
Java: USA -- optimistic, powerful, likes to gloss over inconveniences.
C++: UK -- strong and exacting, but not so good at actually finishing things and tends to get overtaken by Java.
Python: The Netherlands. "Hey no problem, let'sh do it guysh!"
Ruby: France. Powerful, stylish and convinced of its own correctness, but somewhat ignored by everyone else.
Assembly language: India. Massive, deep, vitally important but full of problems.
Cobol: Russia. Once very powerful and written with managers in mind; but has ended up losing out.
SQL and PL/SQL: Germany. A solid, reliable workhorse of a language.
Scala: Hungary. Technically pure and correct, but suffers from an unworkable obsession with grammar that will limit its future success.
C: Norway. Tough and dynamic, but not very exciting.
PHP: Brazil. A lot of beauty springs from it and it flaunts itself a lot, but it's secretly very conservative.
LISP: Iceland. Incredibly clever and well-organised, but icy and remote.
Perl: China. Able to do apparently almost anything, but rather inscrutable.
Swift: Japan. One minute it's nowhere, the next it's everywhere and your mobile phone relies on it.
C#: Switzerland. Beautiful and well thought-out, but expect to pay a lot if you want to get seriously involved.
R: Liechtenstein. Probably really amazing, especially if you're into big numbers, but no-one knows what it actually does.
Awk: North Korea. Stubbornly resists change, and its users appear to be unnaturally fond of it for reasons we can only speculate on.17
I was reading the post made by another ranter in which he was basically asked to lower the complexity of an automation script he wrote in place of something everyone else could understand. Another dev commented that more than likely it had to do with the company being worried that ranter_1 would leave and there would be no one capable of maintaining the code.
I understood this completely from both perspectives. It makes me worry how real this sometimes is. We don't get to implement X tech stack because people are worried that no one would be able to maintain Y project in the event of someone leaving. But fuck man, sometimes one wants to expand more and do things differently.
At work I came to find out that the main reason why the entirety of our stack is built in PHP is because the first dev hired into the web tech department(which is only about 12 years old in my institution) only knew PHP. The other part that deals with Java is due to some extensions to some third party applications that we have, Java knowledge (more specifically Spring and Grails) is used for those, the rest is mostly PHP. And while I LOVE PHP and don't really have anything against the language I really wonder what would it be of the institution had we've had a developer with a more....esoteric taste. Clojure, Elixir, Haskell, F# and many others. These are languages and tech stacks that bring such a forward way of thinking into the way we build things.
On the other hand, I understand if the talent pool for each of these stacks is somewhat hard to come up with, but if we don't push for certain items then they will never grow.
The other week I got scolded by the lead dev from the web tech department for using Clojure to create the demo of an application. He said that the project will most likely fall into his hands and he does not know the stack. I calmly mentioned that I would gladly take care of it if given the opportunity as well as to explain to him how the code works and provide training to everyone for it :D I also (in all of my greatness) built the same program for him in PHP. Now, I outrank him :P so the scold bounced out of the window, plus he is a friend, but the fact remains that we reached the situation in which the performance as well as the benefits of one stack were shadowed by the fact that it holds a more esoteric place in the development community.
In the end I am happy to provide the PHP codebase to him. The head of the department + my boss were already impressed with the fact that I was able to build the product in a small amount of time using a potent tech stack, they know where my abilities are and what I can do. That to me was all that matters, even if the project gets shelved, the fact that I was able to use it at work for something means a lot to me.
That and I got permission to use it for the things that will happen with my new department + the collective interest of everyone in paying me to give support even if I ever leave the institution.
1) For other devs to stop being such whiny, pussy ass motherfuckers. Legit the ammount of whine in some of y'all is too extreme. Blow, judge and cuss out over the weakest shit ever. Like language wars. Dear lord if there is some pussy ass shit right there it is language wars.
2) To see Perl 6, Clojure and Rust see some hardcore adoption. Specially Clojure since I fucking love Lisp dialects and Clojure is pretty sweet Lisp. Clojurescript is also really nice for those that like working with Js.
3) To completely nuke Microsoft browsers. I am not a Microsoft hater by any means. But their browsers bring more pain than joy to everyone and they know it. If they choose to let them exist then by all means fix them! This is Microsoft! They got the resources!!
That's it really.12
So, this is probably somewhat esoteric but...
While studying at university I had a "programming paradigms" module, dunno why they called it that, it was more like "introduction to functional programming".
So, it's kinda mind bending, we'd only really started to get our heads around classical object oriented programming and they throw functional programming at us.
It's worse than that though, for do they use an established language, like lisp/scheme, functional Python, or even given Haskell?
No, of course they didn't. They taught us Oz.
You probably won't have heard of it, but this language is burned into the back of my brain, along with a vague understanding of the n-queens problem we had to solve graphically (using qTk, which I dunno if someone took qt and tk and blended them, I stopped asking questions after a while).
To top it off did this language (at the time) have a stand alone interpreter? Did it buggery! It was coupled to the Mozart programming system, which is just Emacs (which has a bloody lisp built into it,so close, yet so far 😭).
It gets worse, though, oh does it get worse, for pause dear reader and consider, have you ever heard of Mozart/oz before, I'd put money on most of you had not heard of it until today.
For, you see, I believe at the time of writing, one, yes, ONE text book exists on this language. When I was doing my assignment there was merely some published conference notes and language design documents.
That's not all, I was not the only one experiencing difficulties with this language, someone in the class ended up pouring through the mailing lists and found the very tutor teaching the class struggling at first to understand the language.
I had to repeat that year. The functional programming class was one semester.
When I retook that year, it was a whole year long. However, halfway through the year, original tutor was fired and a new tutor was hired to teach the language.
He was, understandably, just as confused as we were.
There was a Starbucks and a pub equidistant from the lecture hall, though in opposite directions. From lecture to lecture we had no idea which one we'd end up in.
I have reason to believe Mozart/Oz it some sort of otherworldly abomination designed to give students the occasional nightmare flashback, long after they've left.
My room had post it notes, sheets of paper, print outs, diagrams, doodles and pens, just stuck to the wall, I looked like a raving lunatic three hours away from being institutionalised. There was string connecting one diagram to the next and images of a chess queen all over. As I attempted to solve the n-queens problem.
Madmans knowledge, I call it. I can never unlearn all that, in fact it seeps into much of the code I write. Such information was not meant for the minds of a simple country bumpkin such as myself...
Mozart/Oz... I wouldn't be the programmer I am today without it, and that's frankly terrifying...10
Common Lisp's format function.
Because it supports some crazy convenient formatting directives, such as: writing numbers as words, writing numbers as Roman numerals, correctly writing plurals, etc
The code in the image will print:
It’s throw back Thursday folks...
Today’s post sets us back to a time long before the internet. Before C ... from the days of FORTRAN.. COBOL .. and LISP... How was info not taught in classes and published in large books shared???? Well it’s was journals like these, sent out monthly and quarterly for some. They would publish their findings to these type “magazines” but extremely technical.
This is one of the oldest editions have. Trying to collect them.
I believe in Knuths TAOCP, he references the first article of this edition... I’ve seen that article referenced in one of my books but i forgot which book.. pretty sure TAOCP.. anyway..
Just a fun throw back. Btw... just because it’s from 59’ doesn’t mean the information is irrelevant.. the information is facts the equations are true.15
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9
I am making an LDAP user manager and porting application for my workplace.
The thing is, i made the first version of it in PHP already. Shit works fine and it without an issue.
I had an itch to redesign it using another tech stack that would be speedier, more tested and using a more established platform.
Enter Clojure, a Lisp dialect for the JVM. In a single day I managed to get 80% of the application done. We have about 80k users inside of our ldap system(maybe more) and I tested it with 150 accounts, so far so good.
If this works I will be the first person to deploy a Clojure application, not only for my organization, but for the city as a whole while simultaneously being able to say that I got a Lisp app deployed and working :D
I am loving this. Really wanna have a Lisp app out there and add it to my resume.
The head of my department, an old timer and really ancient dev smiled heavily when I showed him the codebase. Not only is it minimal, it is concise and elegant :D
I love Clojure
Common Lisp code has (imo) one of the cleanest syntax possible in programming language. I really would like for Lisp dialects other than Clojure to make a heavy comeback. And we now hace Quicklisp which is a package repo for CL code.
I really want to see more people into Lisp, it really is a great language man you just need to get past the (()) and it makes sense I promise.
Guys please try CL. If you already have awesome code skills and have some free time try going throughe the gigamonkeys book. Completely free online and setting up an Emacs environment with SBCL or CLISP is a breeze. I use Lisp to experiment and it gives a lot of room for exploring new concepts.
Another cool language that is emerging is Smalltalk in the form of Pharo. If you have been casting asside OOP because of the way many mainstream languages do it then maybe you will like Smalltalk as a pure OOP form.
I just want more people in this shit and this community sure has some awesome programmers, so why not?
one of the leading dudes in CL is currently Eitaro Fukamachi, one dude...doing amazing things. My aim is to give him a hand.8
I f**king hate my university, we have to learn pascal, assembly, basic, LISP, this is just BA comp science, no C or Java. The only usable language would be Python, which is good, but not 3, not 2, but fucking python1, it's not even supported anymore. We have win xp running on core 2 duo-s, with cathoder ray monitors and 2 gb-ram. Try running andorid studio on it motherf*cker. And it is a compulsory class, the class is 45 min long, and it takes like 20min to load andorid studio.
If we are writing a test, and they don't want us to use the Internet, they just unplug the cables. And at the end of the test we replug it and upload the file which is needed. FML.
I would just drop out and learn everything at home, which I do. But i can't because we have to have a degree in order to work in my country.
Sorry for long rent, but it's now better with this off my chest.7
K&R Like it or not, everything that we use was impacted by the advantage of having the C Programming language on our side. C is still to this day a cornerstone of what a a language should be, nothing more nothing less.
John McCarthy the creator of Lisp and the one that coined Artificial Intelligence as a topic, a term, without him if else statements would have probably taken a while longer to figure out the way my boy did. Lisp will make you a better developer.
Alan Kay, creator of OOP, yeh we had ways to emulate this with C before, bit without his contribution to what I believe to be the purest form of oop we would not haveany additional things. Smalltalk is still the best programming language in my humble opinion.
Terry A Davis, disciplined, and crazy, the man built a skyscraper by himself, God knows what he would have done if he weren't afflicted by mental illness.
Linus Torvalds, for many different things, creator of the kernel that would power my favorite operating system.
Ryan Dhal, took the world by storm with Node.js
!rant Eeeeeeeeee!!!! The interpreter can now handle floats and integers! And accept the power operator! And modulo! (Sorry, absurdly excited)2
You know what really grinds my gears more than anything else? Not having anything to work on at work.
That might sound like the most german thing to say but bear with me for a second.
Even though i am almost one year into my job as a junior dev, i consider myself and i probably am very new to the coding world. And even if i weren't new i would still have to continuously learn and improve. And every time i just sit in front of my working station, with nothing to do, i'd rather figure out an incredibly tedious bug, learn lisp or deal with a shitty framework.
Most of the time i don't know what to do. I improve my workflow with some bash-scripts and aliases, i read into the details of certain tools but at the end of it, i can't really get into something deeper and get value out of it because actual work might just be around the corner...3
Yesterday, i had to use neovim for a task on my friend's laptop. There was no WiFi and I couldn't install Emacs. This guy uses Vim a lot. He recently moved to neovim from vim. He had some Ruby codes going. I had to debug some codes(performance issues). I was reluctant to work on it but i had to. After looking at some keybindings and the plugins that guy had written, using vim was pleasure. It was fast. I could shoot up multiple terminals work on that and was instant. I wrote some plugins to indent my code which worked as it's supposed to. I used spacemacs(as it's configured properly) Emacs but there is some load time on spacemacs and there are some issues shooting up multiple spacemacs on terminals. I had just configured and started using prelude which is beautiful Emacs configuration and is fast.
After using neovim that day something hit me that i had blindly had faith in Emacs without using Vim and i use Emacs only for text editing task and terminal. I don't use it for listening music, browser and other task i can always use modern browsers and Spotify for that. Modern browsers and music players are amazing and using those in Emacs there is always a lack of functionality and UI.(modern people don't use those i think and some Emacs users i know use stripped down version of Emacs i.e. microemacs or XEmacs.
I know vi is present by default on every Linux distribution. That keybindings are same as vim and it can be configured so, it is useful for embedded devices and system architecture. I love terminals and love working on tty. That's why i guess i felt instantly tempted to keep on using vim and i loved it's performance. I checked on evil layer before but there are some issues with evil layer in Emacs like it isn't too efficient like vim. I love lisp though and clojure can be edited nicely in Vim.
Is this sin against the church of Emacs? Should i join vi vi vi? I have already dedicated my life on Emacs (check my bio). Am i tempted by the devil?4
Clojure developers: why has our awesome language not taken the world by storm? how do we get new developers interested in Clojure and Lisp! its not as hard as people make it out to be!!
Also Clojure developers: Yeh so we know you are all probably not used to an editor like emacs *crowd looks in confusion*....BUT YOU NEED TO DOWNLOAD EMACS, INSTALL ALL THESE PLUGINS, MAKE SURE THAT THIS SHIT CALLED CIDER WORKS AND LEARN ALL OF THSE CTRL+<Fuck-Mx-You> COMBINATIONS!!
As someone that has been in the community for so long...I can't with the mentality of some of these people, and it scares me because I fear for Clojure disappearing.17
I've created an interpreter that I am very proud of :)
It's based off the variation of Scheme(I think, maybe just Lisp) called Lel.
So my language is like a variation of a variation of Lisp... Written in an Interpreter(Python).
I've got a wiki, and source code on GitHub:
Thanks for any feedback. And help appreciated!11
Spent the entire weekend playing with Common Lisp and Clojure.
There is something about these dialects that just clicks on my brain and makes reasoning about certain problems much easier than in other languages.
St least to me, these languages are quite a powerful academic excercise when studying different approaches to programming.
And the parens look pretty to me. I really want to know why these languages attract me so much.
Ima see if i can make room for clojurescript.15
Less a rant and more of a rave about the Racket language.
If you haven't heard of it, Racket is a Scheme/Lisp that eases programming language development.
Let me break down why this is handy. When you come to dislike a language, it's because of limitations in the language itself or its ecosystem. That, and you are always obliged to translate your ideas to the terms of the language, the libraries in that language, and the idioms in both. Overall it starts to feel like a cage, because even if you git gud at a limited language, you still might not be able to do the things you REALLY want to do.
Lisps turn this on its head by letting you translate the solution to your terms rather than making you translate your solution to its terms. Lisps are homoiconic, which is a fancy word meaning that all valid programs in the language are also valid literal expressions of data in the same language. The code/data divide collapses and you can at any moment decide "Hey, this code I'm writing? It's data now and I'mma generate stuff with it." That's when you start getting macros and the beginnings of serious metaprogramming.
Racket made this mind-bendingly powerful. To the point that some of the language features make you gawk and say "Ok, but why anyone would ever need to do THAT?!" Some examples include converting compile-time errors to run-time errors and writing your own exception handling system.
But the kicker is that Racket is the only language I know of where you can say "You know what? Racket is sucking at this thing I want to do right now. I wish my language looked like THIS" and then you can use Racket to write your language in terms of Racket, and then your language becomes a valid extension of the Racket ecosystem. Your custom language can still import and use the rest of the ecosystem.
So, in a single Racket project, you can have a typed language, an untyped language, a configuration language and a markup language, and all of them can use the same libraries. It also means that if you have an accountant, ops manager or designer in house, you can write a little language for them that that understand and integrate their understanding of a solution with your system.
Why are relatively few using this box of magic?
Well, for one thing, it's hard. Unlike most, Racket enjoys the benefits of seriously amazing, complete and correct documentation. Which SOUNDS great, but here's a direct quote from one part of it.
"The intent of a cross-phase persistent module is to support values that are recognizable after phase crossings. For example, when a macro transformer running in phase 1 raises a syntax error as represented by an exn:fail:syntax instance, the instance is recognizable by a phase-0 exception handler wrapping a call to eval or expand that triggered the syntax error, because the exn:fail:syntax structure type is defined by a cross-phase persistent module.
A cross-phase persistent module imports only other cross-phase persistent modules, and it contains only definitions that bind variables to functions, structure types and related functions, or structure-type properties and related functions. A cross-phase persistent module never includes syntax literals (via quote-syntax) or variable references (via #%variable-reference). See Cross-Phase Persistent Module Declarations for the syntactic specification of a cross-phase persistent module declaration."
The thing is, I know a little bit about what that means. I read their introduction guide meant for people new to the language, and made enough progress in the reference to understand these terms in isolation. But when I keep running into paragraphs like THAT, I have to review everything again because I just get lost.
The other problem may be that it has the classic Lisp Curse (http://winestockwebdesign.com/Essay...), which means its power is also its greatest weakness. The power of a programming language can grow strong enough that the people who contribute to society using it rarely bother to use each other's work.
Still, Racket has a more complete and cooperative ecosystem compared to other Lisps I've observed. I'm still a total fanboi of the language and would love to get a job using it, but it's probably a long time out.
Thanks for reading. I don't have a particular desire to tell you to drop what you are doing to use it, I just think it's cool and wanted to brag on it a bit.1
Know what is funny about the Lisp family of languages?
The most powerful is Common Lisp, the most useful by current standards is Clojure(since it can target the JVM as well as JS and I think the .net runtime)
Yet the most widely used by a laaaaaarge margin: Emacs Lisp
I just think that is funny.2
CIA – Computer Industry Acronyms
CD-ROM: Consumer Device, Rendered Obsolete in Months
PCMCIA: People Can’t Memorize Computer Industry Acronyms
ISDN: It Still Does Nothing
SCSI: System Can’t See It
MIPS: Meaningless Indication of Processor Speed
DOS: Defunct Operating System
WINDOWS: Will Install Needless Data On Whole System
OS/2: Obsolete Soon, Too
PnP: Plug and Pray
APPLE: Arrogance Produces Profit-Losing Entity
IBM: I Blame Microsoft
MICROSOFT: Most Intelligent Customers Realize Our Software Only Fools Teenagers
COBOL: Completely Obsolete Business Oriented Language
LISP: Lots of Insipid and Stupid Parentheses
MACINTOSH: Most Applications Crash; If Not, The Operating System Hangs
AAAAA: American Association Against Acronym Abuse.
WYSIWYMGIYRRLAAGW: What You See Is What You Might Get If You’re Really Really Lucky And All Goes Well.2
I'm on the hunt for new and exciting languages!
I'll state the ones I already know:
I've also learnt some styling languages:
Html, CSS, Markup and Markdown.
Some misc languages too: Regex and a runny bit of the Wolfram Language.
Also I'm kind of limited to Windows, Linux and Android, as I do not own any Apple hardware except I have access to an old iPad, so are languages like Swift still good?
After I cured my depression with Vortioxetine which was prescribed to me because of pure luck, I can notice that something has changed.
I can't tell if I like or don't like something anymore. It doesn't matter now which food to eat, what music to listen to, I just can't see the difference. I dropped all my side projects, quit my job and got another, much easier one. I don't see the big picture of things anymore. I also lost my ability to reverse-engineer problematic outcomes and find solutions.
I used to be an architect but now I can't design anything, I just forgot how to do what I could do without thinking. I forgot Lisp and Clojure, functional programming is too hard for me now. I just don't understand it.
My iq also significantly dropped.
Summarizing all that, and also remembering that liking or not liking something implies that you have a personality, I can only see one reason – I probably don't have a personality anymore.
Here's a summary of my experiences from when I was depressed:
depression makes you dumb
you struggle with simplest tasks
you only eat and go to the bathroom because sometimes your basic instincts win
depression takes your power of will – the most valuable thing you have
society doesn't understand and shames you
you can't think
you can't focus
you can't study
you need money but you can't make it
you don't have that save space inside your thoughts anymore
you don't have dreams
your sleep schedule is fucked
every night there's a nightmare and you can't wake up
you can't cry
they prescribe you one neuroleptic after another and they only makes it worse, turning you into a vegetable
you feel nothing but shame and irrational infinite guilt11
Last night, while under the full belief that I could write a very simple lisp interpreter, I was awake until stupid o'clock and to my credit I got the tokenizer working and produces an output of parsed code. It's really basic but I was pleased to have gotten anything correctly parsed at that time.
But I'm also sitting outside my apartment waiting for a locksmith because lack of sleep left me unprepared to function correctly today and I'm now locked out...
Well done me!
One language that I have always wanted to give more attentio to but felt as if I was in a constant fight was Haskell.
To me it felt unintuitive, and required a MAJOR shift in practice to get going. I really wanted to give it a chance but could not.
Every other language felt natural(even Lisp) but haskell for some reason seemed like a major mindfuck)41
Why is it that virtually all new languages in the last 25 years or so have a C-like syntax?
- Java wanted to sort-of knock off C++.
- C# wanted to be Java but on Microsoft's proprietary stack instead of SUN's (now Oracle's).
- Several other languages such as Vala, Scala, Swift, etc. do only careful evolution, seemingly so as to not alienate the devs used to previous C-like languages.
Now we're slowly arriving at the meat of this rant: back when I started university, the first semester programming lecture used Scheme, and provided a fine introduction to (functional) programming. Scheme, like other variants of Lisp, is a fine language, very flexible, code is data, data is code, but you get somewhat lost in a sea of parentheses, probably worse than the C-like languages' salad of curly braces. But it was a refreshing change from the likes of C, C++, and Java in terms of approach.
But the real enlightenment came when I read through Okasaki's paper on purely functional data structures. The author uses Standard ML in the paper, and after the initial shock (because it's different than most everything else I had seen), and getting used to the notation, I loved the crisp clarity it brings with almost no ceremony at all!
After looking around a bit, I found that nobody seems to use SML anymore, but there are viable alternatives, depending on your taste:
- Pragmatic programmers can use OCaml, which has immutability by default, and tries to guide the programmer to a functional programming mindset, but can accommodate imperative constructs easily when necessary.
- F# was born as OCaml on .NET but has now evolved into its own great thing with many upsides and very few downsides; I recommend every C# developer should give it a try.
- Somewhat more extreme is Haskell, with its ideology of pure functions and lazy evaluation that makes introducing side effects, I/O, and other imperative constructs rather a pain in the arse, and not quite my piece of cake, but learning it can still help you be a better programmer in whatever language you use on a day-to-day basis.
Obviously these curly-braces languages will still be needed for a long time coming, legacy systems and all—just look at COBOL—, but my point stands.7
How the Common Lisp Community will eventually die soon:
Clojure is the only main Lisp dialect having some sort of heavy presence in today's modern development world. Yes, I am aware of other(if not all) environments in which Lisp or a dialect of it is being used for multiple things, CADLisp, Guile Scheme, Racket, etc etc whatever. I know.
Yet, there is no real point in using Lisp or Clojure other than for pure academic endeavours, for which it is not even a pure functional programming language, you would be better served learning something else if you want true functional purity. But also because examples for one of the major areas in software development, mainly web, are really lacking, like, lacking bad, as in, so bad most examples are few in between and there is no interest in making it target complete beginners or anything of the like.
But my biggest fucking gripe with Lisp as a whole, specifically Common Lisp, is how monstrously outdated the documentation you can find available for it is.
Say for example, aesthetics, these play a large role, a developer(web mostly) used to the attention to detail placed by the Rails community, the Laravel community, django, etc etc would find on documentation that came straight from the 90s. There is no passion for design, no attention to detail, it makes it look hacky and abandoned. Everything in Lisp looks so severely abandoned for which the most abundant pool of resources are not even made present on a fully general purpose language constrained as a scripting environment for a text editor: Emacs with Emacs Lisp which I reckon is about the most used Lisp dialect in the planet, even more so than Clojure or Common Lisp.
I just want the language to be made popular again y'know? To have a killer app or framework for it much like there is Rails for Ruby, Phoenix for Elixir, etc etc. But unless I get some serious hacking done to bring about the level of maturity of those frameworks(which I won't nor I believe I can) then it will always remain a niche language with funny syntax.
To be honest I am phasing away my use of Clojure in place of Pharo. I just hate seeing how much the Lisp community does in an effort to keep shit as obscure and far away from the reach of new developers as possible. I also DESPISE reading other Lisp developer's code. Far too fucking dense and clever for anyone other than the original developer to read and add to. The idea that Lisp allows for read only code is far too real man.
One of the things that I like the most regarding Clojure(and most Lisps to be honest) is how "not for beginners" the ecosystem feels.
Don't get me wrong, setting up a project in lein with dependencies(both internal and external) is a cakewalk, installing lein or boot is a cakewalk. Setting environment consts and middleware etc etc is a cakewalk.
Its just that there are no blogs about convoluted and amateurish ways of doing things. Most presentations and articles are written by really experienced and talented individuals.
I dunno, its just a nice shift in community. Its nice to see people not fucking up Object Oriented programming in java or any of the other oop languages. Its nice not seeing people giving horrible advice regarding memory management in C or c++ and it is sure as shit nice to not see spaghetti php und js code.
And my productivity levels are off the charts man. Really liking this shit and I get to stay inside my JVM
- Played with and learned Scratch
- Learned some Python, made some weird little programs
- Learned C, using two good books: K&R C and Zed Shaw's "Learn C the Hard Way" (back when it was still in development and was free to read on the internet)
- Made LOTS of programs in C
- Came back to Python when I wanted to learn network programming
- Learned some Racket/Lisp, Bash scripting along the way
- Now I use all of the above, minus Scratch
So I'm finally doing the job I was hired to do 2 years ago, with the promise of working 1.5 years ago, and scheduled to work 1 year ago as the project slips about a 1.25 years.
The project is on it's 3.5th year of a 3 year plan and based on the architecture of the project, the project architect started a degree in software architecture 4 years ago. In Latin. When his first language was Japanese and his second was Indian English while this was a US company. And his entire degree was in Lisp, PHP, and html, this project is in C#, and his professional background is in Fortran.
This is a man who is no longer on the project, not allowed to contribute or talk to us about the project, and what little documentation he left us is in Swahili translated from Korean via Google translate from the second year Korean language major exchange student from Russia who got really into meth and Telenovelas.
It is every version of MV* without the M and with every definition of * including some he made up and some that have only been proven to exist via machine learning algorithm written in SQL statements.
This project represents an implementation of the presentation tier of an n-tier application, yet attempts to reimplement the other n-1 tiers in html5 and the dreams of children.
The new lead is a former engineer that couldn't begin coding until he figured out how to map all of his variables to his former cars and girlfriends inclusively and learned his management skills from the big book of micro managers and that one time everyone else in the office was sick but the intern. Who now has a girlfriend whom he works 200 feet from so he isn't 100% thinking with his largest head. At least from observation.
Yet, I still can't bring myself to go be with the whales/become an accountant.
hmmmmmm let me see.
Web based? lets do web based.
Do something simple like a basic crud app on web api format:
Do it with full authorization and authentication.
Start hard. Do it with pure golang using NOTHING but the std libraries.
Now, do it in a magic mvc framework like Rails or Laravel
Now do it on dotnet core
Now do it in django rest.
Watch the differences in all of them, sell your soul to something and now do it in Clojure. If you do it on a Scheme dialect or on Common Lisp my CMS admin will suck your whatever you have. Dude seems to be pretty good at it, we are trying to keep him from pulling tricks on the street but he insists.
Then add a React client with Typescript to get them basic ass endpoints to display nicely.
It should give you a fuckload of perspective amongst the different tools and way we do things and might make you appreciate the differences in paradigms required(pro points for doing modular in c# dotnetcore using different classlibs for the major points of the application using some crazy pattern like the mediator pattern)
I would hire a mfker that throws all this shit at me on a portfolio on the spot.10
(loop [cnt 2 out [1 1]]
(if (>= cnt n)
(recur (inc cnt) (conj out (+ (first (reverse out)) (second (reverse out)))))
Clojure and Lisp have something of so beautiful... I don't know what it is, but is magical.1
Every day I try to show something new or cool to the people in my team. Not with the purpose of using it, more like to show them the current state of options and cool things to study. Yesterday it was clojure and clojurescript as well as regent. Which even tho I am not a master or even proficient at either....well I just wanted to show them. Lisp is very whiteboard friendly, so after I finished writing shit on the board this was the lead developer's reaction:
Lol this is fun.2
My Gripe With Implicit Returns
In my experience I've found that wherever possible code should be WYSIWYG in terms of the effects per statement. Intent and the effects thereof should always be explicit per statement, not implicit, otherwise effects not intended will eventually slip in, and be missed.
It's hard to catch, and fix the effects of a statement intent where the statement in question is *implicit* because the effect is a *byproduct* of another statement.
Worse still, this sort of design encourages 'pyramid coding recursion hell', where some users will first decompose their program into respective scopes, and then return and compose them..atomically as possible, meaning execution flow becomes distorted, run time state becomes dependent not on obvious plain-at-sight code, but on the run time state itself. This I've found is a symptom of people who have spent too much time with LISP or other eye-stabbingly fucky abominations. Finally implicit returns encourage a form of thinking where programmers attempt to write code that 'just works' without thinking about how it *looks* or reads. The problem with opaque-programming is that while it may or may not be effortless, much more time is spent in reading, debugging, understanding, and maintaining code than is spent writing it--which is obviously problematic if we have a bunch of invisible returns everywhere, which requires new developers reading it to stop each and every time to decide whether to mentally 'insert' a return statement.
This really isn't a rant, as much as an old bitter gripe from the guy that got stuck with the job of debugging. And admittedly I've admired lisp from afar, but I didn't want to catch the "everything is functional, DOWN WITH THE STATE" fever, I'm no radical.
Just god damn, think of the future programmer who may have to read your code eventually.2
You knoe, my first insights into computer programming came out of spite. I thought windows to be garbage and wanted to blame someone other than myself for my machine constantly crashing. Thus I discovered programming and down the rabbit hole. But my interest in computer science came from videogames. Portal in particular. I found the idea of GlaDOS fascinating and thought that artificial intelligence would be something interesting to research. The web then gave me Lisp, and boy was the language different from all the other languages I went through. I remember feeling super excited when Racket, Common Lisp and eventually Clojure would help me discover many different ideas. Every time I work with reduce or maps or stuff like that in other languages I always thank languages such as Clojure for having me descipher different ways of manipulating data to get a result. To this day I feel sad whenever I find that my languages do not have the same constructs that Clojure has. I mention Clojure because it is my favorite flavor of Lisp. But one thing that always remains grest to me is firing up Emacs and plugin my code to Slime or Cider and see the repl pop up waiting for something to happen. This feeling is beautiful.
Please guys, if you have not tried it, do so! You might hate it at first or push it aside. But trust me, once you get it it will really change the way you think about programming in general. Try the great Clojure for the Brave and true, and go through the third chapter succesfully. If you do not like Lisp by them then no harm done! You would at least know that there are other options.
Now, here are some cool things:
For the standard implementation, try Common Lisp
For a more modern Scheme, try Racket or Guile
For targetting the JVM try Clojure (more akin to Common Lisp) or Kawa (scheme like)
For the python AST get Hy (pun totally intended)
For JS try Clojurescript
For emacs scripting try Emacs Lisp (has way too many disasdvantages but still relatively close to common lisp)
Honorific mention to more pure functional programming languages for Haskell, F#, Ocaml.
Also worth mentioning that Js , Ruby and Python have great functional constructs.
(println "you will not regret it!")2
Today, on the Hypocrite show we have a bunch of hypocrit wankers talking meta. For example, this just in, a bunch of talkative wanker classmates, all gorls (yes, this is not a typo (yes it's for sarcastic goal (yes read it in Gru's voice (no I don't do Lisp stop asking)))), start talking about how they don't like their lower-graders talking too much they, the previously mentioned "gorls", are around and would prefer them to shut up and let enjoy their "peace and quiet". Oh I don't know, you wankers wants my 2-page 11px complain on you talking too much in class and everywhere you go?6
I think about learning a lisp-family-language , but since there are plenty of them, I don't know which one to choose.
I've mostly coded in Go or typescript before.
Can any of you give me an advice with which one to start ?2
My apologize to everyone I told that functional programming is declarative.
It's actually imperative. Thank you @AndSoWeCode for figuring that out. I spent the whole day thinking about it.
Lisp is imperative. It's just different way to define the exact data transformations, and that's quite imperative.
On the other hand, HTML, CSS, config files and markup languages are declarative.
But writing the imperative program which is configured with declarative configs seems like great idea. Consider Apache web server and others.3
One of the projects that I have to do this semester is a React-Native, I was very eager to start coding until a friend of mine got an error never seen before, when he googled the problem, literally in StackOverflow somebody posted the same issue just about 2h ago, still with no response. This is going to be a fun ending semester project.
PS: this project is going to have a Lisp code project connected somehow4
If I could, I'd attempt to create an ideal language. I'd aspire that its features would be:
-The easyiness of Python
-The readability and cross- platformness of Java
-Functional features of Haskell
-Modularity of Lisp
-Low level features of C/C++
-Powerful with strings and data, like Perl
-Both compiled and interpreted, with REPL
Anything missing from your favorite languages?9
I love it when in an job interview, the guy in front of me reads the IT skills part of my resumé and says "haha, lisp..."
And so we start talking trash about this shitty programming language
I admit i only keep it in my resumé for that.4
I keep diving into Racket (my first lisp-like), I often get totally overwhelmed by macros.
You don't know what power means until you program a programming language.
I started writing my own programming language. It resembles LISP a lot but doesn't have a lot of features. It works and I learned a lot by creating it, but I wish I had the motivation to make it a useful language.1
Following from https://devrant.com/rants/1516205/...
My emacs journey day 0-1
0: quickly realised what I was getting myself into, wow that is a learning curve. Head is buzzing with different key commands (and thank you to everyone who's helped out in my original post). I've been here before with Vim, but it's so hard when I am proficient with another editor, one of the most difficult aspects is getting it set up to even format my code appropriately (the right tab width etc), but I press on, something tells me it will be worth it in the end.
1: I come across a tutorial for clojure and emacs (https://braveclojure.com/basic-emac...), this looks good, oh sweet it shows how to load a good configuration, some more useful commands, feels like I'm getting there. Then it hits me, I manage to put my finger on why I decided to take the plunge: emacs isn't an editor at heart, at its heart is lisp. From its core it is scripted using one of the most powerful types of languages. Rather than some bolted on domain specific scripting language.
Now the real learning begins.2
When I first started learning to program, the first time I spent all day writing code. I was working with lists in common lisp. I sat down with a cup of coffee and my laptop, and the next thing I knew was five hours had passed unnoticed, but rather than feeling tired and irritable, I still felt happy and energized. And I thought, "Cool! This is what I want to do with my life. Good to know."
I hope that when I wake up in the morning, the racket code I just wrote from midnight to 3am makes as much sense to me as it does at the time of writing.
Banana Language always seems to flow easier when exhausted.
No matter what I do and try: Scala always look so damn ugly.
And yes, I do use scalafmt. Yes, I try to follow the scala approach, yet still -- my poor eyes.
It's also not helping that the bracket mess and the lack IDE-help in regards to finding where I missed them reminds me of time wasted in lisp.
Lisp is such a cool language, and I feel like because functional programming is becoming so popular, Lisp could end up the go-to language because it's so versatile and, though there are many parens, it's friendlier at first glance than Haskell. (And there are so many libraries for it, omg)6
rant === true
I despise university. Since I went there, I have stopped learning exciting and new technologies. Instead, I do mips, lisp and Java.
I mean I wouldn't mind java, but it's boring repetitive crap. Making stupid simulations - all the fucking time.
I can not be bothered to learn this shit anymore. It's not worth 9k a year.
I'm lost. I don't know what to do. I can not physically do this anymore.
Also, I hate this industry. All they want is a cs degree u til you have 2 years experience and then fuck it. It's a 50 k passport... wtf.3
I'm forced to learn Racket at University. What type of clusterfuck of a language is this?!
How come this shitty language doesn't even support floating point modulo and finding positions in a list...? Let alone those goddamn parentheses...7
Still not sold by OO, but I'm hook line and sinker for pharo/smalltalk.
It actually seems to share a lot of fundamentals with Lisp namely extremely tight syntax and live code reloading.
My opinions of a productive language being dependant on a specific paradigm might be changing in favour of the tooling supplied with a technology/language.
I hate when people compare programming languages without understanding much, e.g. "Do they have semicolon or not?" "Lol there are lots of parentheses in Lisp". I even hear someone said "Haskell and PHP are alike because they both use the $ sign"
Come on, don't be that shallow, programming languages are much more then syntax and their logos. Learn more about their paradigms, ideologies, the reasons behind those designs.
I asked the question already this night, but I suppose most of you didn't read it, so I'll repost it.
I want to learn a lisp-family-language, but since there are plenty of them, I can't decide which one.
Please give me some recommendations.
possibly my first !rant
Any Clojure programmers around? I started learning it seriously the other day and I have to say Im hooked. Im pretty new to functional programming and so far Im really liking it. It amazes me how much functionality you can produce from 2-3 nested function calls.2
Howdy! I am currently looking for some quality courses online on LISP. Can anyone share their best finds? I rather have a personal recommendation.5
There should be no debate about
statically typed vs dynamic,
functional vs imperative,
single vs multi namespace
(lisp-1 vs lisp-2),
or anything like that:
it always boils down to
simple vs complex,
simple is the unquestioned winner.2
I learned to program at university. I remember my favourite practice exam was in AI where I used Lisp on a unix server to code a "find your way from the labirynth" problem. Everyone else used Pascal on PC-s. I don't know why 😃
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: "You cannot fix a machine by just power-cycling it with no understanding of what is going wrong."
Knight turned the machine off and on.
The machine worked
Saw that there exists a tag named "lisp is op". Have anyone used it for something good? I get an anourism by the look of it..2
The fact that it sometimes makes me wonder "Why am I learning this? This feature seems better implemented in newLISP." when I am learning a new programming language.
Can't decide which language to pick up as a hobby. Common Lisp or Haskell? There's also Elixir. Tough choice.6
anybody else has a "polish notation fetish"? i never actually learned lisp, but since i first saw its style, i find writing functions like "+ 1 2" instead of "1 + 2" both aesthetically and functionally more appealing. i think the infix notation is just being kept because of well-established habits.
So, umm, is there any way to change my avatar's hair color so it isn't red? Because right now I look worse than Lisp...
tfw ((((((((((((((writing and presenting a thesis about Artificial Intelligence made me want to learn Lisp but then I remembered a friend wanting to kill himself everytime he tried to write something in Lisp))))))))))))))
We can not create a good programming language before creating a good os.
This is why the most novel approaches to language development (lisp, smalltalk, ...) started out in their own worlds (lisp machines, smalltalk machines, ...)
Why do Haskell/Scala/Lisp/Clojure develops do crossfit?
Because they like their fitness how they like their programming paradigms: functional!
I'm thinking about learning common lisp, but haven't found a project where it could be useful. Can you suggest some problems/areas where using lisp makes more sense?
What do you think of Common Lisp vs the Cool Kids(programming languages) of the present ?
Is it worth to learn it ?2