Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "clojure"
-
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
This page doesnt look like much until I tell you it is written entirely in Clojure using a custom built HTML generator.9
-
I think I will ship a free open-source messenger with end-to-end encryption soon.
With zero maintenance cost, it’ll be awesome to watch it grow and become popular or remain unknown and become an everlasting portfolio project.
So I created Heroku account with free NodeJS dyno ($0/mo), set up UptimeRobot for it to not fall asleep ($0/mo), plugged in MongoDB (around 700mb for free) and Redis for api rate limiting (30 mb of ram for free, enough if I’m going to purge the whole database each three seconds, and there’ll be only api hit counters), set up GitHub auto deployment.
So, backend will be in nodejs, cryptico will manage private/public keys stuff, express will be responsible for api, I also decided to plug in Helmet and Sqreen, just to be sure.
Actual data will be stored in mongo, rate limit counters – in redis.
Frontend will probably be implemented in React, hosted for free at GitHub pages. I also can attach a custom domain there, let’s see if I can attach it to Freenom garbage.
So, here we go, starting up modern nosql-nodejs-react application completely for free.
If it blasts off, I’m moving to Clojure + Cassandra for backend.
And the last thing. It’ll be end-to-end encrypted. That means if it blasts off, it will probably attract evil russian government. They’ll want me to give him keys. It’ll be impossible, you know. But they doesn’t accept that answer. So if I accidentally stop posting there, please tell my girl that I love her and I’m probably dead or captured28 -
Hi Dev Ranter,
My name is John Smith and I came accross to your resume on Linked In and I was very impressed. Would you be interested in a 5 min call?
Job Details:
Required skills (all expert levels): C#, JAVA, Clojure, C, PHP, Frontend, Backend, Agile, MVP, Baking, Redis, Apache, IIS, RoR, Angular, React, Vue, MySQL, MSSIS, MSSQL, ORACLE, PostgreSQL, Access, Python, Machine Learning, HTML, CSS, Fortran, C++, Game design, Book writing, PCI - Compliance
Salary: $15/Hours no benefits
Duration: 2 Months (possible extension, plus we can fire you at will)
Place: Remote (with work tracking software)
Hours: 5am - 1pm, 6pm - 11pm
Expect to work on weekends
You will be managing people as well as building applications that had to be running as of yesterday. Team culture is very toxic and no one cares about you.
We care about you though (as long as you deliver)
Looking forward to talk to you.
John Smith
Founder, CEO, Director of Staffing, Entrepeneur
Tech Staffers LLC ( link to a PNG posted on facebook)
Est. 202020 -
Lead dev: Hey boss, you really do like Python right?
Me: No
Lead dev: Well it's cuz I was think....wait what? WTF do you mean no, you have automated a fuckload of BS with Python and we are still using it, why tf would you use Python if you don't like it?
Me: I like it enough for the automation scripts that we have and for parsing documents or generating glue scripts, its already installed in every server that we have, so testing bs in dev and then using them in prod is cake, it doesn't mean I LOVE python, I like it for what we use it.
Lead dev: Well ain't already bash and perl installed as well?
Me: Do you know bash and or perl?
Lead dev: No, don't you?....
Me: No......
L Dev: (using a Jim Carrey impersonation) WELLL ALLRIGTHY THEN! What is the other language that you used for X project?
Me: Clojure, do you remember that one?
* he said paren paren paren paren yes paren i space paren do close paren close paren etc etc
L Dev: (((((((yes (i (do)))))))) and nevermind, I'll get back to working more with Python
Me: das what I fucking thought esse6 -
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 -
You know what really pisses me off about the dev community is the circle jerk that ensues when someone bashes something they have no experience in. Take yesterday's React bash on Reddit and DevRant. Thomas Fuchs compared React and JSX to the intermingling of HTML CSS and JS of 15 years ago. If you knew anything about React or spent 1 hour learning what it's about you would immediately know why that isn't true but no, a giant circle jerk ensued comparing it to PHP! I'm sorry but HOW can you compare a pure JS view library that is renderable by the browser, to a full fledged server side language?? Not to mention the React approach uses a completely different programming paradigm of functional programming.
When I first saw React and Redux I realized what this is all really about, a shift in the paradigms of programming. React + Redux is the first time that functional programming has entered mainstream. We've had functional programming available to us via Haskell and more recently Clojure for a while now but it was never very obvious how powerful functional programming could be outside of the niche that used it for more analytical type tools. Now we have things like hot reloading (https://youtube.com/watch/...) and state playback (https://youtube.com/watch/... skip to ~3min to watch the magic) thanks to immutable state.
Before you decide that React is just another flavor of the month library I encourage you to learn about the advantages that functional programming provides (https://medium.com/@cscalfani/...) and checkout Elm (http://elm-lang.org/) as well. The nice thing about React + Redux is that it gives us a way to start programming functionally, without having to learn ML style syntax like Elm and ClojureScript. Keep in mind, when Object Oriented Programming was becoming popular it was widely controversial as well and look at all it has done for us.4 -
! Rant
I'm getting married on Friday.
I proposed half a year ago.
What have we done since the proposal?
- Adopted a Cnaani dog with a lot of issues and recovered her from most of them.
- went every Saturday to skydive for the whole day (almost finish the license!)
- moved apartment
- Plan and execute the wedding
- build wedding RSVP and teaser sites
- work full time as developers (me full-stack and she's an automation expert)
- go abroad twice
- I have work on a new startup with a friend (in version two right now)
- I hade my driver license classes
- went to salsa courses twice a week
- built our salsa wedding dance
- I studied Clojure, ruby on rails, Angular 2 and a little bit of React.
And more...
So why does it feel I haven't done enough?6 -
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 -
Me: I want to learn Clojure
Me: But I need real tasks to learn
Me: OK, reconnecting device with wireless adb
Inner me: Are you kidding? 5 lines with bash
Me: In clojure it will be more elegant and faster to write similar tasks in future
*2 hours later*
Me: IT WORKS
Internal me: Really? This is ugly as fuck. And the only clojure feature it uses - sh and re-find
Me: But... It... Works... *cries* -
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.
Win.13 -
"we will also consider skills in other production languages, such as Haskell, Clojure, OCaml, Rust and C++"
ah, of course, the classic "production" languages. wouldn't want to be using those other "developing" or "staging" languages... 🥱
i swear, the 🤡 count increases by the hour.24 -
Who holds the #1 Google spot for these queries?
fuck c#: devRant
fuck typescript: devRant
fuck xcode: devRant
fuck product owner: devRant
fuck docker: reddit (devRant is 2)
fuck java: reddit (devRant is 2)
fuck agile: reddit (devRant is 2)
fuck scrum: reddit (devRant is 2)
fuck sql: reddit (devRant is 2)
fuck node: reddit (devRant is 3)
fuck php: github (devRant is 4)
fuck python: github (devRant is 4)
fuck clojure: reddit (devRan't didn't rank on first page)
fuck rust: reddit (devRant didn't rank on first page)
fuck scala: reddit (devRant didn't rank on first page)
fuck ruby: **am I still connected to the company VPN? I might have some explaining to do** (devRant didn't rank)12 -
Folks...
I think I need to get away from web development...
Honestly, no grudge held against web/mobile development itsef... But the projects, the teams, the workflows... It's always shitty af.
I'm fed up with the bad architecture, poor management decisions, unmaintained legacy code, broken windows, arrogant juniors, arrogant seniors, code smells left to rot, the freaking red door... Hell! The fucking "we don't have time for that" answer to testing... Damn!
Been there done that.
Feels like it's always the same crap and unfortunately, it's rare to start a professional project from scratch.
Fucking angular, broken piece of shit.
Fucking react (& RN) community modules, broken pieces of shit.
Fucking lazy-ass node developers.
Fucking ES and fucking garbage proposals submitted to the TC39.
I wish I could do Haskell / Rust / Clojure professionally... I could even enjoy Go with a good team... Anything but that huge pile of dogshit JS and its community of brainfucked so-called developers.10 -
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 -
I don’t like to judge people based on what languages they like (because I like all of them). But I can’t deny the pattern anymore.
Smart people know and enjoy smart languages: Smalltalk, OCaml, Clojure, Lisp, Haskell, etc. They may use JavaScript or PHP to make money, but ask them to code in their smart language and they’ll be more efficient. Getting old, some of those people say “screw it” and find a Haskell job.
You, my friend, are not one of those people. You are VSCode-dwelling goblin who thinks lambda calculus has something to do with JS arrow function notation, is scared of reduce() and not even good at the single fucking language they know.
Insta coders and that mechanical keyboard collector dorks are not “superstars” you got to be like.11 -
!rant
New years resolutions:
1. Reading all 16 books on my goodreads list
2. Learn Clojure
3. Switch job to a company which appreciates my skills more
4. Be the best dad my son could wish for5 -
I might be fucked up, but I have a tendency to gravitate towards the shit that everyone else dislikes for the sake of knowing if their bias against is actually because shit is truly fucked up or if shit is legit plain WRONG.
From all technologies that I have worked with professionally I can count:
Java(currently in the form of old JSP services for an "enterprise level application")
Java for Android development - i was the lead engineer for a mobile project
Swift with IOS dev, same gig as the above.
C++ for Android development in the form of OpenCV with Java as well.
Javascript in all possible forms, basic input validation, ajax services, jquery datatables, jquery animations and builders.
Css/sass heavily
Clojure for an ldap active directory application
Python for glue scripts
Classic ASP with JScript and VBScript
VB Net forms
C# For ASP.NET MVC
Bootstrap for multiple intranet frontends
Node+Express for a logistics warehouse management tool
Ruby on Rails freelancing small gigs
Php in all ways possible from complete standalone php apps to Laravel and just php+composer apps aaaaall the way to wordpress
Django consulting
I have found that the one that I dislike the most is wordpress. And the one that I like working with the most is Node. Don't know why, i just do really fucking like messing around with Javascript, the language has changed a fuckload throughout the years and continues to increase and change. It was my first scripting language following a stint in me trying to learn cpp way when i was starting and royally FAILING
Never really got the hate for it, even when I used JScript with classic ASP i just enjoy working with Javascript a lil too much. And from all the above mentioned stacks safe from Php is the one, or one of the ones in which i don't royally suck :V3 -
C is like an obsidian razor. Extremely sharp tool, immense power with immense responsibility. You can make art and you can make bloody mess.
Clojure is like a magic rainbow mist. You accept it and it's pure chrysalis, everything is good, everything is fine. You feel cared about, you feel like nothing can hurt you.
Bash is like feeling your stepdad's finger inside your asshole. Shame and shame again combined with extreme perception of wrongdoing that lead to nothing but psychological trauma.1 -
"So Alecx, how did you solve the issues with the data provided to you by hr for <X> application?"
Said the VP of my institution in charge of my department.
"It was complex sir, I could not figure out much of the general ideas of the data schema since it came from a bunch of people not trained in I.T (HR) and as such I had to do some experiments in the data to find the relationships with the data, this brought about 4 different relations in the data, the program determined them for me based on the most common type of data, the model deemed it a "user", from that I just extracted the information that I needed, and generated the tables through Golang's gorm"
VP nodding and listening intently...."how did you make those relationships?" me "I started a simple pattern recognition module through supervised mach..." VP: Machine learning, that sounds like A.I
Me: "Yes sir, it was, but the problem was fairly easy for the schema to determ.." VP: A.I, at our institution, back in my day it was a dream to have such technology, you are the director of web tech, what is it to you to know of this?"
Me: "I just like to experiment with new stuff, it was the easiest rout to determine these things, I just felt that i should use it if I can"
VP: "This is amazing, I'll go by your office later"
Dude speaks wonders of me. The idea was simple, read through the CSV that was provided to me, have the parsing done in a notebook, make it determine the relationships in the data and spout out a bunch of JSON that I could use. Hook it up to a simple gorm golang script and generate the tables for that. Much simpler than the bullshit that we have in php. I used this to create a new database since the previous application had issues. The app will still have a php frontend and backend, but now I don't leave the parsing of the data to php, which quite frankly, php sucks for imho. The Python codebase will then create the json files through the predictive modeling (98% accuaracy) and then the go program will populate the db for me.
There are also some node scripts that help test the data since the data is json.
All in all a good day of work. The VP seems scared since he knows no one on this side of town knows about this kind of tech. Me? I am just happy I get to experiment. Y'all should have seen his face when I showed him a rather large app written in Clojure, the man just went 0.0 when he saw Lisp code.
I think I scare him.12 -
-I'm gonna learn C for real
-I'm gonna configure Vim
-I'm gonna try November
-Emacs with Evil mode is a better Vim
-I'm gonna learn eLisp
-I'm gonna learn functional programming
-Gonna use clojure for everything now!
-init.el is 400 lines long
int main() {printf("Hello World!");}
Success! 🤦♂️1 -
Running a fucking conda environment on windows (an update environment from the previous one that I normally use) gets to be a fucking pain in the fucking ass for no fucking reason.
First: Generate a new conda environment, for FUCKING SHITS AND GIGGLES, DO NOT SPECIFY THE PYTHON VERSION, just to see compatibility, this was an experiment, expected to fail.
Install tensorflow on said environment: It does not fucking work, not detecting cuda, the only requirement? To have the cuda dependencies installed, modified, and inside of the system path, check done, it works on 4 other fucking environments, so why not this one.
Still doesn't work, google around and found some thread on github (the errors) that has a way to fix it, do it that way, fucking magic, shit is fixed.
Very well, tensorflow is installed and detecting cuda, no biggie. HAD TO SWITCH TO PYHTHON 3,8 BECAUSE 3.9 WAS GIVING ISSUES FOR SOME UNKNOWN FUCKING REASON
Ok no problem, done.
Install jupyter lab, for which the first in all other 4 environments it works. Guess what a fuckload of errors upon executing the import of tensorflow. They go on a loop that does not fucking end.
The error: imPoRT eRrOr thE Dll waS noT loAdeD
Ok, fucking which one? who fucking knows.
I FUCKING HATE that the main language for this fucking bullshit is python. I guess the benefits of the repl, I do, but the python repl is fucking HORSESHIT compared to the one you get on: Lisp, Ruby and fucking even NODE in which error messages are still more fucking intelligent than those of fucking bullshit ass Python.
Personally? I am betting on Julia devising a smarter environment, it is a better language already, on a second note: If you are worried about A.I taking your job, don't, it requires a team of fucktards working around common basic system administration tasks to get this bullshit running in the first place.
My dream? Julia or Scala (fuck you) for a primary language in machine learning and AI, in which entire environments, with aaaaaaaaaall of the required dlls and dependencies can be downloaded and installed upon can just fucking run. A single directory structure in which shit just fucking works (reason why I like live environments like Smalltalk, but fuck you on that too) and just run your projects from there, without setting a bunch of bullshit from environment variables, cuda dlls installation phases and what not. Something that JUST FUCKING WORKS.
I.....fucking.....HATE the level of system administration required to run fucking anything nowadays, the reason why we had to create shit like devops jobs, for the sad fuckers that have to figure out environment configurations on a box just to run software.
Fuck me man development turned to shit, this is why go mod, node npm, php composer strict folder structure pipelines were created. Bitch all you want about npm, but if I can create a node_modules setting with all of the required dlls to run a project, even if this bitch weights 2.5GB for a project structure you bet your fucking ass that I would.
"YOU JUST DON'T KNOW WHAT YOU ARE DOING" YES I FUCKING DO and I will get this bullshit fixed, I will get it running just like I did the other 4 environments that I fucking use, for different versions of cuda and python and the dependency circle jerk BULLSHIT that I have to manage. But this "follow the guide and it will work, except when it does not and you are looking into obscure github errors" bullshit just takes away from valuable project time when you have a small dedicated group of developers and no sys admin or devops mastermind to resort to.
I have successfully deployed:
Java
Golang
Clojure
Python
Node
PHP
VB/C# .NET
C++
Rails
Django
Projects, and every single fucking time (save for .net, that shit just fucking works on a dedicated windows IIS server) the shit will not work with x..nT reasons. It fucking obliterates me how fucking annoying this bullshit is. And the reason why the ENTIRE FUCKING FIELD of computer science and software engineering is so fucking flawed.
But we can't all just run to simple windows bs in which we have documentation for everything. We have to spend countless hours on fucking Linux figuring shit out (fuck you also, I have been using Linux since I was 18, I am 30 now) for which graphical drivers for machine learning, cuda and whatTheFuckNot require all sorts of sys admin gymnasts to be used.
Y'all fucked up a long time ago. Smalltalk provided an all in one, easily rollable back to previous images, easily administered interfaces for this fileFuckery bullshit, and even though the JVM and the .NET environments did their best to hold shit down, and even though we had npm packages pulling the universe inside, or gomod compiling shit into one place NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO we had to do whatever the fuck we wanted to feel l337 and wanted.
Fuck all of you, fuck this field, fuck setting boxes for ML/AI and fuck every single OS in existence2 -
Main language, do people have such a thing? Some quixotic shit about various languages I use:
C#: Microsoft
F#: never quite committing to 100% functional paradigms while still being one of the most enjoyable langs I use
Java: null handling via optional and maybes are ugly, but better than it was
C++: surprisingly functional in 2020
Haskell: no one else seems to ❤️ it, despite it being fucking beautiful
Kotlin: Ternary warfare, Czech sports opinions on how languages should work
Clojure: parenthetical scoping makes me far happier than it should
Typescript: makes ever more sense as it changes7 -
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 -
!rant
My love for Clojure is so deep that I have invested the whole company. Over the past months just everyone came up to me and asked me, if I may teach them some Clojure programming. With everyone I mean literally everyone working in this company - fellow programmers, the ladies from HR, the Sales Team and even the CEO.
So today I gave a two hour introduction to the whole team on how to Clojure (in absolute basic terms).
The team has just voted that we will do that every friday starting next week for the rest of the year.
If you have passion, show it.9 -
I prefer functional style programming because it is easier to me to think in modules and functional hierarchies than it is object style shierarchies.
All in all, languages like F# and Clojure have always been fascinating to me. I wish I could find a use case for Haskell, but I can't. If anything F# is awesome to me because I already know .NET and really dig the entire framework, the strides made by Core are outstanding.
I had tried Scala before and just couldn't get into it. Far easier to just stick to Java even if I hate the idea of extending classes all over the place.
Ocaml is interesting too, but I know little to nothing about it, and Elixir looks far too much like Ruby for my taste even if I do like Ruby.
Choice is good, but sometimes overwhelming14 -
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 -
Why does every Software Engineering role at the top companies never have PHP or any functional languages in it’s list of languages they want you to be experienced in?
It’s always Java, Python, C#, C/C++, Objective C or Ruby. What about Elixir, Scala, Haskell or Clojure?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.
But
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
And Texas17 -
Literally anything that comes out from Anders Hejlsberg, always liked what the dude brings to others. I fucking loved his work on the Pascal Programming language, back then it was all over the place in Mexico. I can only imagine that in the U.S it was just as big since a lot of mfkers in here are still pushing Delphi from what they found with Turbo Pascal.
His work on the C# programming language is absolutely incredible and C# is one of the best languages in my book. And I fucking adore TypeScript, so literally, everything this dude puts out, I pay attention, listen to and learn. As far a language designers go, him and Rich Hickey are my top favorite mfkers in the field, but Anders it to me a personal idol.
I also happen to really fucking like C# and Clojure man, like come on those two are just legit good languages.8 -
Fuck Java and its related build tools.
Decided to throw caution to the wind and actually try to build a Java project, from scratch.
Install intellij, except it keeps complaining about the missing JDK, openjdk is installed but it doesn't like it.
Ok, whatever, I read that it's supposed to come with its own and so I point at that, no dice.
Ultimately I stumbled upon a stackoverflow post saying to just download the tgz JDK and just use that, I knew I could do that, but I wanted to use the tools the P environment suggested, but gave up.
Ok, so now I've got intellij and JDK installed, and I want to start my automatically generated project.
Except I now need gradle, fine, whatever, and now gradle complains it can't find the JDK...
Fucks sake... I was happy using Lein and Clojure, I didn't realise how fucking complicated it is to set up a Java IDE these days...9 -
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 -
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 -
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.14 -
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 guilt10 -
After spending my entire holiday vacation fucking around with the one language that really digs with my state of mind (Ruby) when developing and having to do some quick troubleshooting on 2 of our applications (Java and PHP respectively) I can honestly say: I legit don't want to go back to that ever again.
But money means more to me than my own personal biases. I have delved in some of the most HATED platforms that developers could normally ask for in terms of work. And have only done some very basic (fucking obnoxiously basic) consulting in terms of Rails, to the point that it might not be even worth putting on a cv. But fuck me man, if I could just fuck around building rails solutions for a living, from the frontend to the backend, I think I would for once be happy with the things that I work with with things more than monetary pleasure.
Y'all know your boy, I ain't no neckbeard, but I fuck with things that a lot of others don't, to me Lisp dialects and Smalltalk are gifts from dev heaven, and I have thrown out Clojure in production (my app is still chugging along just fine at work thank you very mucho) but in terms of pure web development, I have never been happier than when I generate a rails project and start tinkering around.
Sigh.......here is to hoping that maybe I will eventually open my own rails shop.6 -
Quarantine day..... i've stopped counting...
Numbers and time have lost all meaning...
I now use my free time to fill paper sheets with various random japanese symbols, learn linear algebra and being a "human" clojure interpreter......
( send help )
My location is the result of multiplying the matrокрызгкруойж п ыТк)4&2(1&/(0 υβεκσ´αω;·3)-@!}€{]¥~+~;];{*<=
<<< COMMUNICATION ABORTED >>>6 -
When depression set in, I thought pain relief lied in getting duller. People I called “stupid” — who lived simple lives filled with alcohol and lack of any talent or purpose — weren't suffering. Better even, they denied the existence of depression.
My “wish” was granted when they prescribed cariprazine. In two months, I lost my ability to read, let alone code.
Before that, even depressed, writing a simple email/password auth was a matter of ten minutes in any of the languages I knew how to do web in (JS, Python, Clojure, PHP). But on cariprazine, I remember myself not quite getting what an HTML form was.
Tell you what… you should never wish to become dumber. When I was smart and depressed, the pain was real, but it felt like… let's say a breakup. When I was dumb and depressed, it felt like being raped with a red-hot soldering iron. Or like being skinned alive. Or like when 100% of your skin is a third-degree burn. The pain weren't listening to me, as my mouth was glued shut as if I was Keanu in the first Matrix movie. You can't say, do or think anything, at all, to ease your pain somehow. You can't even realize that just DMing or calling someone is probably a good idea.
Instead of you vs. despair situation from when you were smart, now it's just despair that is actively melting you, so you two become one. Even time loses its meaning. There is nothing out there but suffering.
If you're smart(er than I was at my lowest), DO cherish it. Losing that will spell disaster. So stay away from substances that can facilitate that loss.2 -
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.
Not only is Clojure present in the JVM(I give 0 fucks about whether you like it or not also) but also has compilation targets for Javascript via Clojurescript. This means that i can effectively target backend server operations, damn near everything inside of the JVM and also the browser.
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.
Lisp has been DED for a while, and the zombies that remain will soon disappear because the community was too busy playing circle jerks for anything real to be done with it. Even as the original language of AI it has been severely outshined by the likes of Python, R and Scala, shit, even Javascript has more presence in AI than Lisp does now a days.9 -
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 -
Learn Clojure and use it instead of Bash / Python for one-line terminal tasks.
Reach 8k$ per month on current project.
Hire few students and make real devs from them.
Watch and enjoy the dawn of cross-platform frameworks for mobile platforms.2 -
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 -
Software engineering doesn't evolving the way you think of it.
There are no new big patterns. There are no new big concepts and ideas to bring that evolution to us. Rob Pike thinks that the concepts he used twenty years ago are the best possible way of implementing everything and he creates Golang.
The evolution of software engineering, and maybe the whole evolution as a concept is a tick-tock. Software engineering had its latest tick at nineties, when the concepts we call modern were developed. And the latest tock was the rise of the internet, and it given the single-computer-centered Von Neumann architecture really hard challenges. I mean ticks are theoretical inventions and patterns and ideas and etc, while tock is more of some practical, business-oriented implementations.
PHP is still in use. We have troubles with scaling and deployment. Banking systems still run old Java, Windows XP and even COBOL. We had persistence really, really long time ago, and now frontenders reinvent it and call it 'immutability'!
We had our tick many, many years ago. It's time for tock. With not only scientific but commercial use of things such as Clojure, CRDTs and maybe Rust lang, we are heading straight to our new big tock, which'll bring us new great problems to solve.
That's how any evolution goes.rant rust lang paradigms rob pike evolution golang ideas rust wk127 clojure patterns software engineering -
Anyone in here successfully using a pure FP language/ecosystem on their day to day?
I know of one of you that uses Scala, and myself I have an (admittedly) shitty application at work running in Clojure. These last two languages I mentioned are not pure FP.
I am talking about the likes of PureScript, Haskell, etc. Those mfkas.
If so,what is your experience working in said paradigm? I tried to keep my Clojure program as pure as possible, I failed, but enjoyed it.
And I know that FP is not a silver bullet, but in some scenarios when properly applied it can work beautifully. I also have React based applications with pure components, but Javascript itself is neither a functional(pure or otherwise) programming language, it merely supports functional paradigms.
Just wondering, no flamewars or anything like that, I just want to know your pros and cons.6 -
!rant
For all of youse that ever wanted to try out Common Lisp and do not know where to start (but are interested in getting some knowledge of Common Lisp) I recommend two things:
As an introductory tutorial:
https://lisperati.com/casting.html/
And as your dev environment:
https://portacle.github.io/
Notice that the dev environment in question is Emacs, regardless of how you might feel about it as a text editor, i can recommend just going through the portacle help that gives you some basic starting points regarding editing. Learn about splitting buffers, evaluating the code you are typing in order for it to appear in the Common Lisp REPL (this one comes with an environment known as SLIME which is very popular in the Lisp world) as well as saving and editing your files.
Portacle is self contained inside of one single directory, so if you by any chance already have an Emacs environment then do not worry, Portacle will not touch any of that. I will admit that as far as I am concerned, Emacs will probably be the biggest hurdle for most people not used to it.
Can I use VS Code? Yes, yes you can, but I am not familiar with setting up a VSCode dev environment for Emacs, or any other environment hat comes close to the live environment that emacs provides for this?
Why the fuck should I try Common Lisp or any Lisp for that matter? You do not have to, I happen to like it a lot and have built applications at work with a different dialect of Lisp known as Clojure which runs in the JVM, do I recommend it? Yeah I do, I love functional programming, Clojure is pretty pure on that (not haskell level imo though, but I am not using Haskell for anything other than academic purposes) and with clojure you get the entire repertoire of Java libraries at your disposal. Moving to Clojure was cake coming from Common Lisp.
Why Common Lisp then if you used Clojure in prod? Mostly historical reasons, I want to just let people know that ANSI Common Lisp has a lot of good things going for it, I selected Clojure since I already knew what I needed from the JVM, and parallelism and concurrency are baked into Clojure, which was a priority. While I could have done the same thing in Common Lisp, I wanted to turn in a deliverable as quickly as possible rather than building the entire thing by myself which would have taken longer (had one week)
Am I getting something out of learning Common Lisp? Depends on you, I am not bringing about the whole "it opens your mind" deal with Lisp dialects as most other people do inside of the community, although I did experience new perspectives as to what programming and a programming language could do, and had fun doing it, maybe you will as well.
Does Lisp stands for Lots of Irritating Superfluous Parentheses or Los in stupid parentheses? Yes, also for Lost of Insidious Silly Parentheses and Lisp is Perfect, use paredit (comes with Portacle) also, Lisp stands for Lisp Is Perfect. None of that List Processing bs, any other definition will do.
Are there any other books? Yes, the famous online text Practical Common Lisp can be easily read online for free, I would recommend the Lisperati tutorial first to get a feel for it since PCL demands more tedious study. There is also Common Lisp a gentle introduction. If you want to go the Clojure route try Clojure for the brave and true.
What about Scheme and the Structure and Interpretation of Computer Programs? Too academic for my taste, and if in Common Lisp you have to do a lot of things on your own, Scheme is a whole other beast. Simple and beautiful really, but I go for practical in terms of Lisp, thus I prefer Common Lisp.
how did you start with Lisp?
I was stupid and thought I should start with it after a failed attempt at learning C++, then Java, and then Javascript when I started programming years ago. I was overwhelmed, but I continued. Then I moved to other things. But always kept Common Lisp close to heart. I am also heavy into A.I, Lisp has a history there and it is used in a lot of new and sort of unknown projects dealing with Knowledge Reasoning and representation. It is also Alien tech that contains many things that just seem super interesting to me such as treating code as data and data as code (back-quoting, macros etc)
I need some inspiration man......show me something? Sure, look for a game called Kandria in youtube, the creator, Shimera (Nicolas Hafner) is an absolute genius in the world of Lisp and a true inspiration. He coded the game in Common Lisp, he is also the person behind portacle. If that were not enough, he might very well also be Shirakumo, another prominent member of the Common Lisp Community.
Ok, you got me, what is the first thing in common lisp that I should try after I install the portacle environment? go to the repl and evaluate this:
(+ 0.1 0.2)
Watch in awe at what you get.
In the truest and original sense of the phrase (MIT based) "happy hacking!"9 -
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 -
If you’re a developer who seek professional growth, there is no better way than learning other languages, even if nobody really uses them.
Pick a language and spend a weekend reading tutorials and most importantly writing code in it, something like game of life, sudoku solver or todo-list app.
The more alien the language feels the better. Try Clojure, OCaml, Smalltalk, Prolog, Erlang, and also weird esoteric languages like Piet.
Writing code that operates on alien concepts you see there is the quickest way of learning that concepts and reusing them in whatever language you’re making money with. Your professional growth will be immense.23 -
Best? Clojure docs. They have disqus-like thing under every function description where anyone can submit their usage example. One example times forty submissions equals forty examples!
Also w3c specs, nuff said.
Worst? GunJS. Multiple websites that look like each other plus GitHub wiki all with the same content but idk which one should I use, also there is no complete source, you have to look up everywhere. Also NextJS, they’re too busy pitching to investors, there is no way of contacting them, you’re in your own if you choose nextjs, that’s why I banned it everywhere I have the power to ban things -
Why is it that the tech Youtubers of this world (and tech reviewers in general) tend to completely skip development as a use case, and instead (if they do ever move off gaming) focus on things like Rendering & Modelling / CAD work? I'm sure there's *way* more devs in the world than CAD guys, surely?!
And if they *do* give it the light of day, it's always a quick benchmark based on "Firefox compile time", "Linux kernel compile time" or similar. Dude, it's 2020. Much as some would like to believe otherwise, most guys stopped compiling swathes of heavy C & C++ as part of their normal workflow over a decade ago.
Real-world tests I want to know about are things like docker performance, common IDE startup performance, compile performance of different sized applications on a bunch of langs like Kotlin, C#, Java, Clojure - or node.js performance, Tensorflow performance on NVidia's vs AMDs latest GPUs, etc. I care about how many IntelliJ instances & VMs I can have open way more than how many Chrome tabs I can forget to close.
But noooo - forget that, here's how fast Blender can render a BMW! 😬5 -
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 -
(fn [n]
(loop [cnt 2 out [1 1]]
(if (>= cnt n)
out
(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 -
There are a couple:
A system that updates user accounts to connect them into our wifi system by parsing thousands of processing files written in Clojure. The project was short lived and mainly experimental, It has complete test cases and the jar generated from it is still purring silently on the main application. It was used to replace an $85k vendor application that made no fucking sense. The code has not been touched in 2 years and the jar is still there. The dba mentioned the solution to the vendor, the vendor tried buying it from me, but being that it belongs to the institution nothing was touched, still, it got the VP's attention that I can make programs that would be bought for that level, it caught his attention even more when I showed him the codebase and he recognized a Lisp variant (he is old, and was back in the day a Fortran and Cobol developer)
A small Python categorical ML program that determines certain attributes of user generated data and effectively places them on the proper categories on the main DB. The program generates estimates of the users and the predictions have a 95% correctness rate. The DBA still needs to double check the generated results before doing the db updates. I don't remember how I coded it because I was mostly drunk when I experiment on the scenario. It also got the attention of the VP and director since the web tech manager was apparently doing crazy ML shit that they were not expecting me to do, it made them paranoid that I would eventually leave for a ML role somewhere, still here, but I want more moneys!!
A program that generates PDF documentation from user data, written in Go, Python and Perl (yes Perl) I even got shit from the lead developer since I used languages outside of their current scope of work. Dude had no option but to follow along with it :P since I am his boss
Many more. I am normally proud of my work code. But my biggest moment is my current ntural language processing unit that I am trying to code for my home, but I don't have enough power to build it with my computers, currently, my AI is too stupid, but sometimes it does reply back to my commands and does the things I ask it to do (simple things, opening a browser, search for a song etc) but 7 times out of ten it wont work :P -
This is first month Kotlin has entered Tiobe top 50 languages (at position 41) ❤️surpassing Clojure, Rust and others.
Way to go Kotlin.1 -
!rant
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 -
React has been a gateway into the practical functional world.
Having a crack at Clojure/Om/Datomic, and then recognising the roots of functional and immutable programming that I've seen before.
I have a lot to learn.
Looking forward to grasping macros fully. Walk before I run though2 -
Started porting one application written in php to:
Golang(and some libraries to make certain sht simpler like GORM and Gorilla amongst a couple of others, most shit is STD shit already built in)
Java Spring(I know it well, but wanted to try this particular app in it, lots of boilerplate although the coded is solid AF)
.NET Core API, which I separated in a series of modules for the domain interface, the persistence logic, the actual api etc, I really dig it. It has a basic React frontend in Typescript whereas the other 2 versions are using the standard Go html/template package and the Twig interface for Spring.
My favorite thus far is Golang. I find it extremely easy to extend, the language reads good enough for a retard like myself to make sense of it fairly easy, really easy to test and experiment with it, any idea I get for something to add(say users and stuff) took me less than 30 mins to figure out while reading the actual documentation, as in the base documentation or just the source code.
I know the language is retard proof, and I am highly enjoying this. Not to say that the other two are bad, not at all, been using C# and Java for years now, but I highly appreciate being able to concentrate on functionality rather than all the fucking architectural boilerplate needed to run basic shit in the other two frameworks. Thus far Golang has been a breath of fresh air the likes Clojure gives me, while not even being a profound or mind blowing language in terms of features(since other than the interface{} and goroutines i can't think of shit) and have not reached a scenario in which I am stuck or dying to have generics one bit for the overall business logic.
The app is growing like crazy in terms of code since the original php application was huge to begin with, but dear me this shit is as simple as it can get without being too technical. Might move it to production once all usability tests pass and force the rest of the staff to learn it. I have one lead dev that damn near refuses to touch anything other than php, and a very eager to try shit out content administrator that comes from a Java and C# background.
all I want to say is how much I love go haha4 -
Hey, dfox & trogus
How about some Haskell/Scala/F#/OCaml/Clojure/Scheme swag? For example, I'd love a Haskell-caped devDuck.
Show us functional programmers some love pls ;_;2 -
My current side project. I’m doing a POC to upskill in functional programming. A Java/Dropwizard web service calling onto business logic written in Clojure. The bit im excited about is an HTML engine im writing in Clojure. So instead of inter-mixing raw HTML with code, my views will be written entirely in Clojure
-
Possibly my favourite function is Clojure's "recur", which isn't really a function at all, but a special form that gives you a guaranteed tail-position call to the current function.
Basically what that means is you can write recursive functions (functions that call themselves) and know that you're not creating a potential stack overflow.
Um. Okay, I can feel people looking at me like 🤔 Basically what *that* means is: normally when a function calls another function, a "stack frame" is allocated, holding all the local variables for that call. If a function calls itself 1000 times, 1000 stack frames get allocated. "Tail call optimisation" is a process by which if you call yourself as the very last thing in a function, the language doesn't need to remember the current frame; it just has to pass the return value upwards. The trouble is, it's sometimes hard to notice that you've turned a tail-call optimisable function into a non-optimisable one. Clojure's recur keyword makes it explicit, and therefore safe: if you try to do anything with the return value of recur, it's an error.
PS I'm sure another language did explicit TCR first, but Clojure is where I first saw it.6 -
Complete my Clojure POC and do a knowledge sharing session in work on Functional Programming. Also get promoted to Senior Software Engineer.
-
I started building a voxel engine with openGL and Clojure during December, so my goal is to make a game out of it. Long way to go but seems fun.1
-
When we have Python,Ruby,Elixir,Scala,Clojure,Js
why we should use PHP LARAVEL ?
i cant understand persons which use php & laravel
why u use php or laravel ? how its possible to use php-laravel instead of cool things like Django -ROR ? Are u crazy ?13 -
What do you think of Elixir + Phoenix to build API’s? Is it a better choice than a more established language like Python or something more new like Scala or Clojure?
At my company we're going through a watershed moment where we're starting to discuss and think about re-building our digital foundations and nothing is off limits. I'm leading the discussion about our architecture where everyone can have their say into what the future looks like for our applications. We're currently on a Drupal (CMS) + PHP7/Symfony (Backend Content Repository) + Symfony Twig templates (Frontend)
Even though I have been developing in PHP most of my career, I personally love Elixir and spend a lot of my time away from work learning it but many of my reasons feels subjective like pattern matching, it's actor concurrency model, immutable data and not having to deal with classes/objects, and I'm not entirely sure how that translates to business value, advocating successfully for a tech stack change requires solid reasoning and good answers to challenges like how do we find Elixir developers when existing devs leave, how easy is it to build a CI/CD pipeline for Elixir/Phoenix, etc.4 -
When you rewrite a macro 15 times before you realise that you never needed a macro in the first place1
-
Iwas exposed to the world of computers when Iwas 6 years old. My dad bought a used C64 and me and my sisters were allowed to play some times. Later my father bought a PC with incredible 166MHz and I was allowed to play on it some times too. Started with tomb raider and when my parents weren't home Delta Force One. Later my father bought a newer model with 450 MHz and I got the old one. At this time he bought a 20GB HDD for me so I can get some more games on my computer. Then the internet came. My father booked ISDN and it was super fast. Since then I loved the world of IT and never stopped to. Later I played around 20000h of Counterstrike Source and came in contact with web development. I started to program with my first love: Java.
Now I love ruby, ts (js), Delphi and sometimes c#
next up is Clojure -
Tried to propose using Clojure on a project at work. Manager comes back with, "That seems nice, but why isn't it mainstream?"2
-
Sharing the repo for a POC im working on right now for anyone interested in Clojure. Im building a web app which serves static HTML generated by a custom engine. You can literally write HTML in Clojure. Its still very much a work in progress.
https://github.com/LikeLikeAteMyShi...2 -
Ever since i started using clojure for private projects i find it increasingly frustrating to work with other languages. They all have their ups and downs sure but i just hate having to transform my data over x different data types to get only a fraction of the result i want from each. Im tired of looking up how to operate each different data structure. I could maybe be ok with it if this whole constant conversion of things was effortless but i find myself spending more time trying to get the language to work with me than doing actual work. There is this friction i feel between me and the language when writing java or python that just fucking tires me.1
-
Clojure. It's everywhere these days. Does it lift skirts and grant eternal life?
My fomo is itching! -
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 -
For the first time in my life, I feel good about myself.
In 3 years since I finished my Software Engineering BSc, I made some progress;
I learned React.js, and got into MobX team doing open source.
I learned ClojureScript and RoR and feel comfortable with them.
I do dev tasks and maintenance tasks myself, and enjoy them.
and I care.
I just care. -
!dev, !sponsored
It takes a fair bit for me to enjoy an online course, let alone want to recommend it.
if anyone is looking at using their "free" time learning something new during these troubling times, i would go look at the Packt Courses.
@whocares suckered me in the other day, and i have to admit, i dont regret it.
https://devrant.com/rants/2441665/...
So with that i would actually say to anyone wanting to get into:
- Java
- Python
- Go(lang)
- Data Science
- C++
- Ruby
- Clojure
- PHP
- webDev (html, css, javascript)
then checkout these workshops.
https://courses.packtpub.com/pages/...
or
https://courses.packtpub.com/enroll...
you can actually enroll into all of them using the free coupon, so theres that ☺
one down side is the lack of dark mode, but im sure we all have browser extensions for that.random i usually hate online courses @whocares covid-19 free time learn something new free courses i dont normally do this no dark mode2 -
I am wondering..i learnt Java, later on PHP and during my internship Clojure and during some remote projects JavaScript and now because of my AI/Data Science ambition, hv been dwelling on Python and about R...am I going crazy or just confused...what paradigm should I focus on and stay there proficiently?!🤕🤕1
-
When you hear “Haskell performance”, what comes to your mind? I was never really interested in Haskell since I had Clojure, and I thought Haskell might be slow.
Haskell with GHC is actually as fast as C or even faster. Haskell runs right on your hardware, no VM or interpreter.
When a program is small, the performance is comparable to C. Sometimes it’s quicker, sometimes not. But when a program is large, Haskell implementation would be faster if you’re not a robot that generates perfect C code.
It’s both very high-order AND very fast. You don’t need math to code in Haskell.
Too bad there are no kewl libraries.12 -
Can someone please explain why LISP and LISP inspired langs breed the most insufferable twats?
I mean, just look at this, I'm trying to learn Clojure and happened across this site/slash book: braveclojure.com
Some highlights:
>Chapter 7 - Clojure Alchemy: Reading, Evaluation, and Macros:
>The philosopher’s stone, along with the elixir of life and Viagra, is one of the most well-known specimens of alchemical lore, pursued for its ability to transmute lead into gold. Clojure, however, offers a tool that makes the philosopher’s stone look like a mere trinket: the macro.
> The -> also lets us omit parentheses, which means there’s less visual noise to contend with. This is a syntactic abstraction because it lets you write code in a syntax that’s different from Clojure’s built-in syntax but is preferable for human consumption. Better than lead into gold!!!
>Chapter 10 - Clojure Metaphysics: Atoms, Refs, Vars, and Cuddle Zombies:
>The Three Concurrency Goblins are all spawned from the same pit of evil: shared access to mutable state.
>In fact, Clojure embodies a very clear conception of state that makes it inherently safer for concurrency than most popular programming languages. It’s safe all the way down to its meta-freakin-physics.
And look at this: https://quora.com/Why-are-Lisp-prog...
It reminds me of Python before the data-science craze and its adherents thought IT was God's programming language.1 -
Work has set us a challenge to build a rock/paper/scissors/dynamite/waterbomb api. We have the spec for what json is expected incoming and outgoing. We are allowed to implement any way we want and with any language we want. We are considering using Clojure but we have no experience with it, hence we will hopefully be learning as we go. Would you recommend using a framework like Pedestal, Hoplon, Luminus, or just use Leiningren or something else?
-
I want to use Emacs more and more for my development stuff. I feel fairly comfy while developing server side stuff (clojure, haskell, ...) but I can't find a good setup for the client side.
Has anyone here experience with Emacs and React? Is there a good setup where stuff like format document etc. works? Is it event worth using emacs for the frontend or should I just stick to vscode? -
After some time experimenting with Haskell (with mixed impressions) and quite positive feeling about Scala, I am really shocked by Clojure. I tried simple example from youtube tutorial, but it looks so awful, complex and compared to Haskell and Scala version it is just so verbose. I read that Clojure is a concise language. Is the tutorial bad or is this a fine code in Clojure? I really don't like the code at all...5
-
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 -
We recently pulled in a developer onto the devops team, and also our manager was fired a month ago. Everything devops is Python/Go but all our developers are in Clojure or Node. He's recently been writing a lot of stuff on Clojure and I didn't get an opportunity to bring it up at the last retro.
Recently he changed all our old Go projects to use a CI-pipeline he built, even though I wrote a build tool, with tests, that does everything his pipeline does, in Python .. over two years ago. When I asked him why he doesn't just use our existing builder, he responds saying he doesn't know why he should use some tool/script just because it exists ... um, everything we've built uses it?! 😡
Our last manager was a dick and I understand why they let him go, but he also would put this guy in his place. He's literally made is own little "devops roadmap" for himself and shared it out with the team. It's all about his personal goals and what he wants.1 -
Any Clojurists on Devrant? I'm starting to learn the basics through Clojure for the Brave and True, and I'm wondering where to go after this. The little taste of the language has left me wanting to use it more, so I'd like to see how it's used by people who know what they're doing 😁1
-
FP features in OO/Imperative languages are more Data Oriented Programming (DOP) features than FP. Clojure popularised the term and now every FP language is trying to say “oooh FP is mainstream now”.
No its not. Nobody really cares if you managed to create this beautiful effect system that can emulate what OOP does for decades now. What people care is making data transformations simple and flat.3 -
Folks should give Clojure a look. It may be Lisp on steroids. Need to wrap your brain around macros to use it properly. It's interpreted so it must be slow, riiight?
Not so, er, fast.Ran across a discussion re C++ vs Clojure running data acquisition at 100 MBPS or better. Bottom line, original Clojure code was sped up 76.6x and blew the doors off the C++ code.
Be warned, a number of optimization steps were required. The end result blew me away. Had a link I wanted to insert but it's not on my phone and I may have re-installed Linux wiping it out. Have looked for the post for hours, no joy.
https://clojureverse.org/t/...6 -
Sometimes clojure stack traces are so damn unhelpful that I wish they weren't there at all....
It's a beautiful language though.. -
! Rant
Why does clojure feel for a lot of people like a great language ?
Any good point to try out2 -
When the SysAdmin recommends to rewrite the whole Java (Spring) web app in Clojure. I mean, let's each of us do our assigned jobs.
-
How to write programs on Android 10 that work with files/directories? Have used a number of JVM-based languages like Groovy, Clojure and Kotlin.
My last try was with Groovy. I ran it under Dcoder which has to be cloud-, based as it supports numerous languages. I gave it permission to access storage but got a file not found error from Java. Copied this excerpt for the file path.
import java.io.File
class Example {
static void main(String[] args) {
new File("/storage/emulated/0/read_file.grvy").eachLine {
line -> println "line : $line";
}
}
}
Do I need root? Do I need to change file permissions using Termux? Why can't I find a way to write simple software on a Motorola Super, 3 GB RAM and 8 cores? I hate using a phone for a computer but a seizure has me in a nursing home with only one usable hand.
Any help is greatly appreciated.5 -
Anyone had much experience with Om.Next? It looks neat. From what I understand their way to tackle state management is very reasonable. Looks like GraphQL but for both client and client/server.
-
Looking for opinions about clojure from people who work with it, I am not familiar with clojure but saw a job posting saying their code base is heavy on clojure.1
-
My Advent of Code solution is calculating and calculating, which means I clearly did it wrong. But I already spent 4 hours trying to code it in Clojure (OMG, why can't tail call optimization just work there?!?!)
-
Why with clojure every new thing have many hidden traps full of crap!? Did you try to connect to Neo4j with the two principal libraries?3
-
I want to learn Clojure or Haskell but why i'm feeling like i'm going to do a life or death choice?2
-
Why do Haskell/Scala/Lisp/Clojure develops do crossfit?
Because they like their fitness how they like their programming paradigms: functional!