Hacker News new | past | comments | ask | show | jobs | submit | more caltelt's comments login

I think that might be the first time I've ever seen "Clojure" and "lack of parenthesis" in the same sentence. Presumably you meant C-style parens. :D

I agree though. Honestly, getting worked up over such fluff as where parens go, which whitespace to use, what line curly braces go on is a minor annoyance of mine. The human brain is capable of parsing some pretty obscure stuff (see: human language) just fine.


Just gets so visually noisy when reading code though. Maybe depends subjectively on how a given individual tries to re-conceptualize high-level ideas from low-level instructions. I actually have my Sublime/VScode color schemes set up so that all "punctuation" is as grey / half-invisible as the comments and indent-guide --- really helps me scan curly code-bases whether Go, JS or all the others =)


It's funny to see people talking about how noisy parentheses/braces are when a regular ReasonML program before adopting a more Javascript-y syntax looked like a combination of random punctuation.

Same goes for a lot of Haskell code.


> looked like a combination of random punctuation. Same goes for a lot of Haskell code

"A lot", not "all": yeah indeed at least you can tweak the punctuation towards more ergonomic (aka more productive) aesthetics. What you describe is just the unfortunate result of many-perhaps-most (early) Haskellers / the std-lib authors being married to established-but-ugly academic operator symbols instead of boldly redesigning them for green-field programmers of this (then, newly from-scratch) programming language.

Once swapping out the built-in `.` for <. and `>>>` for .> and $ for <| and & for |> it all comes a breeze to read (I mean, in comparison), about on par with Elm/F#. Now I've never heard anyone complain that Elm code is unreadable, it's a good example for other MLs to follow.

The rest of what you describe is just due to these hackers being heavily into their own combinator libraries, truly if you code all day, just as there shouldn't be a need to elaborately spell out "function" and "return" and so forth all the time in imperative, they feel less need to spell out all the map/filter/reduce English words all the time. At some point, all the names describe "symbolic relations of sorts" and I wouldn't fault anyone for philosophizing: "that which is specific to my program should be named as words, but that which is 'primitive' / generalized / commonly used among all sorts of programs could just as well be just symbols" ;)

I mean I hack in Go all days right now and it's fun --- lots of parens & braces don't exactly kill me. Here, tweaking one's colour scheme easily solves this in one fell swoop and takes just under a minute tops. No need to go "ML-ish FP" just for the lack of curlies. =)


It's basically a struggle between "too much syntax" and "not enough syntax" :)


This is what I was looking for. The 'Performance' section of the article was pretty lacking on any actual details. They mention that it's more consistent over 24 hour periods, but that could've just meant that output was low, regardless of the time of day.


If I understand correctly, the head of the FCC wants state governments to decide which companies can participate in the federal Lifeline program to subsidize costs for consumers, instead of going directly to the FCC to apply.


Looks like you're both on the same page. "...but third party accusation should not be enough."


To be fair, it seems to me like the typical webdev coming from C#/Java really wants the class syntax. I disagree with it, but I don't think it's just MS that's pushing it through, and even if it is, there's definitely an audience for it.


I've used a ton of languages over the years and vastly prefer Java type syntax when working on larger projects. The forced organization tends to lead towards some level of mandatory code clarity. Something greatly lacking in Js land.

OO is a bad word these days and functional is all the rage, even though functional languages were largely superceded by OO languages eons ago for many reasons people are slowly redicovering.

There's a huge push to put more structured language concepts into js now that it's being used for substantial projects and it's out of necessity more than convenience.

When I'm hacking together a quick Python script all that stuff gets in the way but when working on larger systems strong typing and object syntax are practically a neccesary evil for maintaining readability


> strong typing and object syntax are practically a neccesary evil for maintaining readability

No, it's not like that.

You can write readable code in any language as long as you can write readable code. It sounds tautologic, but what I mean is that ability to write readable code is a skill separate from writing code or knowing a particular language.

Strong static typing - as just about any tool and language feature - can have both good and bad effects on code readability. In the end, the readability (so also maintainability and other related metrics) depends on the skill of a particular developer in the largest part.

Both OO and FP techniques, as well as all the language features, are the same. You can misuse (or ignore) them all.

What we need is to make an "average developer" better at writing code, not more bondage and discipline in our tools. The latter is (a lot) easier, so that's where we focus our efforts, but - in my opinion - it's not going to solve the problem.


Could you elaborate on how "functional languages were largely superceded by OO languages eons ago for many reasons people are slowly redicovering" ?


Erlang and common lisp have been around for a long time, and functional programming is nothing new. The reality is that most business problems map conceptually to communication between objects, and that IDE's which greatly help developer productivity work a lot better with objects.

Functional programming has origins in lambda calculus and academia because mathematical problems map more easily from pure math to functional programming. It's really popular in the circles where it's more useful/easier than OO.

Honestly I don't think the people 20 years ago chose OO for most business languages over functional out of ignorance. They had a choice and decided that OO was better for business problem solving languages like Java even though a large majority of programmers from that era were math majors and familiar with functional syntax.

I feel like we're in one of those cycles where a large number of a previous generation have retired and it's time to learn some of these lessons all over again.

Notice how many wood commercial buildings have been going up in the last 15-20 years? A lot, and just long enough after everyone involved in all the great city fires of WW2 to be too dead to object.


Who "choose" OO 20 years ago and (much more importantly) why?

I'm going to ignore the social component... that said, we work in a wonderful profession where the world is changing completely every decade and many design decisions from the previous generation make no sense anymore. The business case for developing your application in COBOL rather than Common Lisp may have been sound 20 years ago, but today many of the reason why you didn't choose lisp are invalid (e.g., garbage collection takes milliseconds rather than seconds).

Note that this is not the case in more mature fields such as construction.


Teams moving around for money: I couldn't agree more. I was recently living in STL and this left a really bad taste in my mouth, and I'm a Packer fan who will never have to worry about this. It really pulls to the forefront that these teams are purely profit-driven, which in professional sports is a given, but gives the appearance of excessive greed. In some ways it's the antithesis of all of those feel-good sports movies where they play through adversity to overcome.

I'd be interested in knowing how these sorts of stunts play out in a more macro sense. As a whole, it may be a net profit for the NFL, but I wonder if it's more of a medium-term win.


The Rams moving to St. Louis didn't sit too well with this native of Los Angeles. Roman Gabriel! Fearsome Foursome! Come on!!!


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: