Live data from Hacker News

Which programming paradigm had the most impact on you as an engineer and why?

news.ycombinator.com

41–50 of 91 posts

Re: Which programming paradigm had the most impact on you as an engineer and why?

#42

I’ll actually list 3. 1 - Smalltalk. I’ve done Python, Kotlin, Swift, C++, and Objective-C, all in various forms of real production code. The kind of OOP you do in Smalltalk is not the same as you do in other “oop” languages, which are really just Algol dirivstives with some weak sauce OO smashed on top of them like lipstick on a pig. 2 - C actually. In particular, pointer rich C. Working in some domains where we did…

I agree with 1 and 2, so now you got me really interested in 3 ;-)

By the way, concerning Smalltalk (Pharo), we're hiring. Honestly, it's the best way to learn Smalltalk, the tutorials on the internet are nowhere near the level of what I'm encountering in practice.

Also: be on the lookout for the Pharo Days [2] and ESUG [3], and similar conferences. I've only been to the Pharo Days, but man, it's awesome! A lot of people that are +10 years experienced in Smalltalk gather there and will bestow their wisdom upon everyone who's interested in Smalltalk and/or Pharo. I knew Pharo for not even a month, it boosted my skill tremendously hanging out with them for a few days.

[1] https://yesplan.be/en/vacancy/full-stack-software-engineer

[2] https://days.pharo.org/

[3] http://www.esug.org/wiki/pier/Conferences

Re: Which programming paradigm had the most impact on you as an engineer and why?

#43

I’ll actually list 3. 1 - Smalltalk. I’ve done Python, Kotlin, Swift, C++, and Objective-C, all in various forms of real production code. The kind of OOP you do in Smalltalk is not the same as you do in other “oop” languages, which are really just Algol dirivstives with some weak sauce OO smashed on top of them like lipstick on a pig. 2 - C actually. In particular, pointer rich C. Working in some domains where we did…

Interesting that you consider Objective-C to be just an Algol derivative when it is so heavily inspired by Smalltalk and is basically Smalltalk bolted onto C. The C half of Objective-C is Algol derived, granted.

Re: Which programming paradigm had the most impact on you as an engineer and why?

#44
post #13

Fail fast. Adding assertions everywhere helped me write software which does less unexpected stuff and is more reliable.

Thats what I am planning to do as well. Do you have any kind of strategies you have developed? Do you write tests for the order of assertions (entering temporal logic)?

Re: Which programming paradigm had the most impact on you as an engineer and why?

#45

I’ll actually list 3. 1 - Smalltalk. I’ve done Python, Kotlin, Swift, C++, and Objective-C, all in various forms of real production code. The kind of OOP you do in Smalltalk is not the same as you do in other “oop” languages, which are really just Algol dirivstives with some weak sauce OO smashed on top of them like lipstick on a pig. 2 - C actually. In particular, pointer rich C. Working in some domains where we did…

3.yes it's nice little touch here and there contribute a huge defense while not having type inference. Pattern matching and guard, just two things make my program akin to .. hmm "correct"? I mean, I barely debug because there's often no bug. If something is missing, it immediately blows up at pattern match. Plus, destructuring assign is dang convenience, sort of in-place matching is clean (akin to type variable signature in some functional lang)

Ah.. hard to elaborate but is indeed pragmatic.

Re: Which programming paradigm had the most impact on you as an engineer and why?

#46
Working at a company that cared deeply about correctness and reading code over writing it was critical to my current coding style and beliefs. I've written about some of this at https://programsareproofs.com/articles/singleuse_functions.h..., but I developed an aversion to single-use functions, premature abstractions, and "self documenting" code. The code I write these days is drastically more understandable and modifiable than back when I targeted terseness, minimizing duplicated code, and future proofing.

As far as languages go, learning SML and functional programming was probably the biggest change for me.

Re: Which programming paradigm had the most impact on you as an engineer and why?

#47
post #19

Got to be MVC right? Put the data all the way over there. Put the view all the way on the other side over there. And then start tying it togther in the middle. I was pretty young when I learnt about it, but it's been by far the most influential on me. Also I'm not sure if this is a programming paradigm, or just good practice, but strongly typed parameters + throwing errors if they're not the right type. I thought Typ…

> Got to be MVC right?

> Put the data all the way over there. Put the view all the way on the other side over there. And then start tying it together in the middle.

The fun part is that what you're describing is not actually MVC. Just like RESTful APIs, the original MVC concept has been mostly forgotten and its name reused for different flavors of the model-view-presenter pattern.

There have been some interesting discussions and submissions on MVC here on HN.

Re: Which programming paradigm had the most impact on you as an engineer and why?

#48
post #16

Pure functions. It totally changed my game when I realised that state was "evil" and that it should be treated like the dirty little possum that it is. The whole functional programming paradigm made a big change for me. Coming from the 90s you know, we were fed Object Oriented paradigm down the throat up to mid-2000s. If you didn't do OO on your resume, no point applying. Then slowly the whole industry started lookin…

[dead]

Re: Which programming paradigm had the most impact on you as an engineer and why?

#49
I would call it "dataflow-oriented imperative programming". Think about your data structures first. Then think about the manipulations you need to apply on them. The program then becomes a collection of procedures, with locally-scoped "const" variables, in an almost SSA-like form.

Re: Which programming paradigm had the most impact on you as an engineer and why?

#50
Ironically enough I'd say extremely old-school imperative code has made a large impact for me. I've learnt OOP and to some extent FP as my default. Doing some OpenGL and other rendering stuff was refreshing and allowed me to explore much simpler ways to think about problems. Letting go of abstractions is tougher than it sounds. Killing your darlings type stuff.

I never really got into systems languages. I guess that's the main way other programmers get the same insights.

Post reply on HN