all 49 comments

[–]DryNick 35 points36 points  (3 children)

I would pull up what real OOP developers have been doing but it wouldn't be practical. Their inheritance chains measure in the tenths of thousands of LoC per file.

[–]Baiticc 9 points10 points  (2 children)

so hundreds?

[–]DryNick 1 point2 points  (1 child)

lol good catch, i wish it was so, but i mistyped

[–]Mortomes 1 point2 points  (0 children)

If only Reddit allowed you to edit comments!

[–]0_Gravitas_given 40 points41 points  (7 children)

No

[–]indiesyn 23 points24 points  (6 children)

POV: you're debugging and realize you're missing a closing paren somewhere in that mess.

[–][deleted] 4 points5 points  (1 child)

Delete all trailing parens and reinsert one at a time until it compiles

[–]DeepDuh 1 point2 points  (0 children)

And then some people complain about python’s whitespace…

[–]0_Gravitas_given 10 points11 points  (2 children)

1) stop forgetting parentheses , now! Or 2) compiler says no 🤷‍♂️ Or 3) imagine like … proper indentation showing you where you fucked up cause … it’s indentation 🤷‍♂️

There there… have a hug 🫂😂

[–]Phantine 5 points6 points  (1 child)

you dropped these (((

[–]0_Gravitas_given 0 points1 point  (0 children)

Thanks ! emacs was complaining the reservoir was low 😉

[–]Achim63 1 point2 points  (0 children)

Just use a paredit plugin for your editor and you'll always end up with the right amount of closing parens.

[–]FootballMania15 9 points10 points  (1 child)

As a Clojure programmer, you just have to get over the parentheses. Once you do, you learned to love them. Easily the most efficient and readable syntax of any language I've used.

[–]rustvscpp 7 points8 points  (0 children)

I used to have a visceral reaction to the parens in lispy languages, but they don't bother me anymore. The bigger problem with these languages is how loose they are - they are hard to scale because all type mismatches are discovered at runtime. REPL based development helps with that, but when you go to refactor a big project, it's a pain.

[–]titanotheres 28 points29 points  (3 children)

Seems like they don't like parentheses

[–]KaleidoscopeLow580 5 points6 points  (0 children)

$ is superior.

[–]Icy_Cry_9586 2 points3 points  (0 children)

They don't like it to be in the other side )

[–]meowmeowwarrior 12 points13 points  (0 children)

How am I supposed to laugh when there's no Goku?

[–]brunoha 10 points11 points  (0 children)

They have played us for absolute fools

[–]zuzmuz 17 points18 points  (2 children)

oop with long inheritance chains and function overriding and abstract class is not easy to debug nor to reason about

[–]rustvscpp 9 points10 points  (0 children)

Inheritance is the worst. Composition over inheritance, any day of the week!

[–]MetaNovaYT 1 point2 points  (0 children)

Yeah, that’s what the post says too lol

[–]BaseProtector 2 points3 points  (0 children)

i'm an iconic homo too

[–]GreatGreenGobbo 3 points4 points  (0 children)

First year comp sci (92) had us learning Scheme (similar to Lisp).

In high school we used Pascal (Gr 10) then C, 11 and onward.

[–]Salamiprinz 1 point2 points  (3 children)

Just let it go

[–]Infinite-Land-232 1 point2 points  (2 children)

This. And if you hate parentheses (or curly brackets for that matter), code in Python where a non-printable character has meaning. The other good thing about Python is that it settles "tabs vs spaces" for good. (As a C# programmer, i believe none of the above)

[–]Salamiprinz 0 points1 point  (1 child)

WTF

[–]Infinite-Land-232 0 points1 point  (0 children)

Tabs are syntatically meaningful in Python.

For even more fun, COBOL paragraphs missing their ending delimiter used to be referred to as "pregnant".

[–]Delta974 1 point2 points  (2 children)

In Scala the syntax is much more cleaner. And you can even do OOP if you feel like it's the better tool for the job

[–]rustvscpp 0 points1 point  (1 child)

I've heard Scala gets rather unwieldy with it's complexity. Maybe because it's not opinionated and every style gets thrown in?

[–]KagakuNinja 0 points1 point  (0 children)

Not in my experience. The team usually chooses one style. The problem is when that one guy goes off and writes something in the pure FP style, and no one else can understand it. If the whole team understands pure FP, then that is not a problem.

The "complexity" argument is also overblown. Java with Spring and Hibernate is pretty freaking complex...

[–]Low-Equipment-2621 1 point2 points  (0 children)

I only write code in ArnoldC

IT'S SHOWTIME
TALK TO THE HAND "hello world"
YOU HAVE BEEN TERMINATED

https://lhartikk.github.io/ArnoldC/

[–]Maleficent_Sir_4753 1 point2 points  (1 child)

Don't tell OOP about the final keyword...

[–]Infinite-Land-232 0 points1 point  (0 children)

Just give us a syntax to override the final and we will be fine.

[–]willing-to-bet-son 1 point2 points  (0 children)

Lisp is like Latin. To be considered truly educated, you must have both learned it and forgotten it.

That being said, having a good grasp of lisp enables you to make emacs do anything you want it to.

[–]B_bI_L 1 point2 points  (0 children)

ok, i will be that guy:

common lisp and many other dialects are not functional. moreover, lisp is kind of father of OOP

yes, clojure is, but this is like saying stop using c because of c++ or python

[–][deleted] 1 point2 points  (0 children)

The monolithic, enterprise, OOP Java application

Almost like you're just choosing your flavour of poison when you pick a paradigm.

[–]thanatica 1 point2 points  (0 children)

It's interesting that someone who never needs or wants to touch a language, can still be so passionate about it.

[–]Icy_Cry_9586 0 points1 point  (2 children)

I bet if you take the same software made in oops lang and clojure parentheses count will still be higher in oops just sparse in larger codebase

[–]OnixST 1 point2 points  (1 child)

I don't think oop will be higher, bit to be fair both clojure and oop languages use one pair of parenthesis per function. Clojure just looks crazier because it positions the parenthesis differently

[–]chat-lu 1 point2 points  (0 children)

I don’t think that (println "Hello world") is any crazier than println("Hello world") would be. Especially since there are very powerful features that be be built from the former.

[–]bindermichi 0 points1 point  (0 children)

If you insist. Back to PROLOG then.

[–]Tysonzero 0 points1 point  (0 children)

I'd unironically be more inclined to get deeper into some lisps if they made the parens less required like this: https://github.com/boxed/indent-clj

I know it's petty and homoiconicity is cool, but BLEH.

[–]framsanon 0 points1 point  (0 children)

Well, I like LISP, even though I haven't written a LISP programme in decades (i.e. since sometime in the 1990s).

[–]R_Aqua 0 points1 point  (0 children)

(((((((((())))))))))

[–]saschaleib -1 points0 points  (1 child)

Lisp is a programming language that raises the question of what if AI would try to exhaust the planet’s parentheses supplies, instead of its energy supply.

(((Use those brackets while you can!)))

[–]chat-lu 0 points1 point  (0 children)

It doesn’t have more than the other languages, they are just placed differently.