Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

ok since nobody else seems to want it: haskell supremacy snype

Adbot
ADBOT LOVES YOU

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

hackbunny posted:

real programmers snipe page 1024

triple sulk
Sep 17, 2014



hackbunny posted:

real programmers snipe page 1024

Khorne
May 1, 2002
How go programmers are called gophers and not gomos?

This question just been eating away at me lately.

MononcQc
May 29, 2007

Object Oriented Programming is an expensive disaster which must end. Very long read for a web page.

I'm not a particular fan of hurrr durr OO sucks Functional owns, particularly this article going "here's why OO sucks" and then boasting functional with far fewer arguments to back it up other than saying "functional doesn't gently caress up like OO", but I still found it to be a decent (see: entertaining) read.

Some fun quotes:

quote:

but I’ll point out, you could restrict yourself to using PHP, and only use those features that were available in PHP4, back in 2004, and then add in one modern ingredient, for instance, maybe integration with ZeroMQ, and with that you would be able to achieve something closer to Alan Kay’s ideal than what most of the modern, bloated OOP frameworks give us.

[...]

Something very basic, such as PHP4 and a good networking library, would allow a kind of messaging that would naturally allow the decoupling and composability that OOP originally promised.

quote:

Why do we want “data hiding”? We want it because we want protection from unexpected changes to state, and OOP encapsulation rarely gives us this — we have to combine this kind of encapsulation with other tools, such as locks, to achieve the goal. This suggests weakness in the way that OOP enables data hiding. [...] Non-OOP languages also give us the same thing.

quote:

It is absolutely tragic that this advice needs to be given. Back in the 1960s, OOP introduced the concept of inheritance, and yet now we know OOP is a terrible way to implement inheritance. And yet, we often want inheritance, not composition.

Inheritance is good. Nearly all data-types belong to a hierarchy, and my code should be able to represent that hierarchy without fear. [...] To escape from these worries, I want my data-types declared in a hierarchy that is all-together separate from my code’s behavior (the functions that I write).

quote:

Erlang is a work of genius and I feel some frustration that it does not get more attention.
:smuggo:

quote:

And there is an explicitly political idea that drove OOP to its peak in the 1990s: the idea of outsourcing. The idea of outsourcing software development rested on some assumptions about how software development should work, in particular the idea of the “genius” architect, backed by an army of morons who act as secretaries, taking dictation. OOP was the software equivalent of a trend that became common in manufacturing during the 1980s: design should stay in the USA while actual production should be sent to a 3rd World country. Working with UML diagrams, writing code could be reduced to mere grunt work, whereas the design of software could be handled by visionaries, possessed with epic imaginations, who could specify an OO hierarchy which could then be sent to India for a vast team to actually type out.

OTOH, it falls victim to calling into the Blub programmer, despising a few people and treating them like morons and whatnot, being reminiscent of your more usual lisp advocacy.

Zombywuf
Mar 29, 2008

So apparently Ruby is dying http://news.dice.com/2014/10/09/5-programming-languages-marked-for-death/

praise allah

triple sulk
Sep 17, 2014




Yeah sorry but this is completely wrong. There are a million Rails 2/3 applications out there that will need maintaining because companies aren't going to pay for complete rewrites. If anything it's just going to become the Java of plangs.

akadajet
Sep 14, 2003


I can't find Java on that list. Calling BS.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

triple sulk posted:

Java of plangs.

mods

Zombywuf
Mar 29, 2008

triple sulk posted:

Yeah sorry but this is completely wrong. There are a million Rails 2/3 applications out there that will need maintaining because companies aren't going to pay for complete rewrites. If anything it's just going to become the Java of plangs.

Don't crap on my dreams.

Tiny Bug Child
Sep 11, 2004

Avoid Symmetry, Allow Complexity, Introduce Terror

triple sulk posted:

Yeah sorry but this is completely wrong. There are a million Rails 2/3 applications out there that will need maintaining because companies aren't going to pay for complete rewrites. If anything it's just going to become the Java of plangs.

i'm sure it'll linger for a while but RoR doesn't have the marketshare necessary for long-term COBOL type eternal obsolescence. this is however a fantastic reason why PHP is going to be with us for decades, at least. (note the absence of PHP from that list)

fritz
Jul 26, 2003


Microsoft’s long love of the BASIC programming language extends all the way back to 1991,

orphean
Apr 27, 2007

beep boop bitches
my monads are fully functional
i wonder if he knows there were, in fact, computers before 1991.

crazypenguin
Mar 9, 2005
nothing witty here, move along
macros are terrible, and not having macros is one of the best things about c#/java

locking macros behind a compiler flag in rust is the next best thing they could do after ripping the whole thing out. I still think they should do the latter.

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





speaking of rust, is it possible to run the borrow checker/lifetime analysis separately from the compiler? i think an ide that could show you (via syntax highlighting?) live/about to drop vars would be really useful

FamDav
Mar 29, 2008

MononcQc posted:

Object Oriented Programming is an expensive disaster which must end. Very long read for a web page.

I'm not a particular fan of hurrr durr OO sucks Functional owns, particularly this article going "here's why OO sucks" and then boasting functional with far fewer arguments to back it up other than saying "functional doesn't gently caress up like OO", but I still found it to be a decent (see: entertaining) read.

Some fun quotes:



:smuggo:


OTOH, it falls victim to calling into the Blub programmer, despising a few people and treating them like morons and whatnot, being reminiscent of your more usual lisp advocacy.

so i skimmmed the first half and then the bottom bit of this so sorry im not sorry if i missed something important, but the crux of his argument seems:

1) all these strengths of OOP are strengths of any good paradigm which is true.
2) OOP isnt as strong at these things as others which is sometimes true and sometimes not. (i dont get why he thinks dispatching on a function is unattainable in oop langs for example)
3) that we actually want inheritance but functional rulz and oop droolz. no i will not explain why i actually want a type hierarchy of prices descending from numbers.
4) functional doesnt need design patterns (lol get the gently caress out)

this seems like a dude who has been burned by OOP zealots who decided that a particular book was the hand of God while simultaneously never having the opportunity to use a functional language in production. also i think he thinks a design pattern is defined as something exists in a book called Design Patterns by a group of old white men who use a racially insensitive name.

also i still do not get why he really, really wants a tall type hierarchy. why is transaction metric a child of number? what happens when transaction metrics are not always numeric?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
you really think "gang of four" is racially insensitive? wow. is "triumvirate" offensive to italians in your universe?

FamDav
Mar 29, 2008

Blotto Skorzany posted:

you really think "gang of four" is racially insensitive? wow. is "triumvirate" offensive to italians in your universe?

culturally? sure, lets use the same name as a group of people implicated in one of the worst events in modern chinese history.

Effective Java by Shutzstaffel
Clean Code by Gestapo

Notorious b.s.d.
Jan 25, 2003

by Reene

Vanadium posted:

is there any non-lisp with a good macro system that i can rub the rust people's heads in

just use a lisp dialect

other languages' macro systems are bad because other languages syntax rules are too complicated. lisp macros are comprehensible specifically because lisp syntaxes tend to be so simple

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

FamDav posted:

culturally? sure, lets use the same name as a group of people implicated in one of the worst events in modern chinese history.

they picked the name because they weren't sure whether design patterns constituted a great leap forward in software design or the final solution to the oop problem.

MononcQc
May 29, 2007

FamDav posted:

so i skimmmed the first half and then the bottom bit of this so sorry im not sorry if i missed something important, but the crux of his argument seems:

1) all these strengths of OOP are strengths of any good paradigm which is true.
2) OOP isnt as strong at these things as others which is sometimes true and sometimes not. (i dont get why he thinks dispatching on a function is unattainable in oop langs for example)
3) that we actually want inheritance but functional rulz and oop droolz. no i will not explain why i actually want a type hierarchy of prices descending from numbers.
4) functional doesnt need design patterns (lol get the gently caress out)

this seems like a dude who has been burned by OOP zealots who decided that a particular book was the hand of God while simultaneously never having the opportunity to use a functional language in production. also i think he thinks a design pattern is defined as something exists in a book called Design Patterns by a group of old white men who use a racially insensitive name.

also i still do not get why he really, really wants a tall type hierarchy. why is transaction metric a child of number? what happens when transaction metrics are not always numeric?

That's roughly it. For 2) he doesn't think it's impossible (CLOS does it and he mentions so), he's just saying most OO languages out there in production use don't do it nor encourage it. Therefore most OO out there is not good at it, and it's tied to the No True Scotsman fallacy in that yes people can argue "but it's possible, you're just not using the right OO", but by that virtue, nobody (but CLOS users and a few others) are using proper OO.

The type hierarchy for 3) is probably to be able to say, for example, that while minutes and seconds can both be subsets of integers, they do not represent the same type. An operation on integers should work on minutes, and it should work in seconds, but seconds and integers shouldn't be mixed together, nor should they necessarily share the same set of functions to operate on them.

The same way, the data type that represents the usual car analogy can represent the same abstract concept or type (a car and a bike and a truck are all vehicles that go on a road), but they don't have the same implementation nor should necessarily share code and representation.

The traditional OO inheritance ties behavior, interface, and type checking together. This lead to a lot of confusion and trends about whether inheritance or composability is the most important, and whether this should be done via IoC, mixins, or traits. In most functional languages, the type hierarchy and behavior are already separated and don't require a special discipline nor have the downside of some approaches (say mixins polluting namespaces).

Tiny Bug Child
Sep 11, 2004

Avoid Symmetry, Allow Complexity, Introduce Terror

Blotto Skorzany posted:

they picked the name because they weren't sure whether design patterns constituted a great leap forward in software design or the final solution to the oop problem.

lol

Luigi Thirty
Apr 30, 2006

Emergency confection port.

FamDav posted:

culturally? sure, lets use the same name as a group of people implicated in one of the worst events in modern chinese history.

Effective Java by Shutzstaffel
Clean Code by Gestapo

VB.NET by Microsoft's Unit 731

Shaggar
Apr 26, 2006

MononcQc posted:

Object Oriented Programming is an expensive disaster which must end. Very long read for a web page.

I'm not a particular fan of hurrr durr OO sucks Functional owns, particularly this article going "here's why OO sucks" and then boasting functional with far fewer arguments to back it up other than saying "functional doesn't gently caress up like OO", but I still found it to be a decent (see: entertaining) read.

Some fun quotes:



:smuggo:


OTOH, it falls victim to calling into the Blub programmer, despising a few people and treating them like morons and whatnot, being reminiscent of your more usual lisp advocacy.

if someone writes a functional language that's not retarded unreadable garbage maybe i'll use it

Notorious b.s.d.
Jan 25, 2003

by Reene

Shaggar posted:

if someone writes a functional language that's not retarded unreadable garbage maybe i'll use it

scala has a somewhat java-like syntax

it is at least not as weird as f# or haskell

fritz
Jul 26, 2003

FamDav posted:

culturally? sure, lets use the same name as a group of people implicated in one of the worst events in modern chinese history.

Effective Java by Shutzstaffel
Clean Code by Gestapo

surely there have to be multiple juntae out there in the programming world

Shaggar
Apr 26, 2006
I tried using functional programming once and all it did was make an unmanageable mess.

Shaggar
Apr 26, 2006
also you can tell when someone is a loving moron because they don't understand soap or why ws-* exists. also lol he doesn't think http is a transport

Zombywuf
Mar 29, 2008

I thought the gang of four were the guys who beat up Rodney King.

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

Blotto Skorzany posted:

they picked the name because they weren't sure whether design patterns constituted a great leap forward in software design or the final solution to the oop problem.

MononcQc
May 29, 2007

Shaggar posted:

also you can tell when someone is a loving moron because they don't understand soap or why ws-* exists. also lol he doesn't think http is a transport

HTTP would be layers 5-6-7 in the OSI layer if that thing had any relevance in the world, under its usage with browsers and whatnot. TCP would be the transport level. SOAP makes HTTP go back down to 4 because it uses it strictly as a tunnel, and then re-adds its own logic on top regarding presentation and application-level logic.

Shaggar
Apr 26, 2006

FamDav posted:

never having the opportunity to use a functional language in production.

ding ding ding

gonadic io
Feb 16, 2011

>>=

Shaggar posted:

I tried using functional programming once and all it did was make an unmanageable mess.

shagger you advocate functional programming all the loving time, you just like it embedded in C#

Shaggar
Apr 26, 2006

MononcQc posted:

HTTP would be layers 5-6-7 in the OSI layer if that thing had any relevance in the world, under its usage with browsers and whatnot. TCP would be the transport level. SOAP makes HTTP go back down to 4 because it uses it strictly as a tunnel, and then re-adds its own logic on top regarding presentation and application-level logic.

http doesn't define session presentation or application. it is a transport mechanism and its the content and consumers (aka browsers) that are 5-6-7


AlsoD posted:

shagger you advocate functional programming all the loving time, you just like it embedded in C#

only really w/ anonymous delegates which is the bare minimum

MononcQc
May 29, 2007

Shaggar posted:

http doesn't define session presentation or application. it is a transport mechanism and its the content and consumers (aka browsers) that are 5-6-7

In practice, as far as I get, IP goes into layer 3, TCP and UDP go in layer 4, and 5-6-7 are all weird and can be considered more or less overlapping in that DNS, SSL/TLS can be considered to be 5, but there's bleeding into 6-7 for stuff like FTP, HTTP, IRC, Telnet, whatever.

Adding to SOAP in there does mean that the logic that HTTP covers for presentation doesn't push down HTTP to the transport level (and is suddenly right there with TCP, or TCP goes down to network?), it just means you pack more poo poo into 5-6-7 as you use HTTP to tunnel through poo poo.

But the OSI model in the top layers is all weird and lovely anyway. I know books like The TCP/IP Guide just go "gently caress it" and calls 5 "Application" and shoves all the poo poo above UDP/TCP/SCTP in there and the model ends there.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

brb rewriting hat website in F# on Flat Tires

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

he's totally right about one thing: state is the enemy

"transform and propagate" > "mutate and store"

Edit: does Content-Disposition: really fit into something that's a transport?

FamDav
Mar 29, 2008

Subjunctive posted:

he's totally right about one thing: state is the enemy

"transform and propagate" > "mutate and store"

this. everything else is bullshit posturing.

FamDav
Mar 29, 2008

Shaggar posted:

ding ding ding

fyi my argument is that he would run into similar types of issues because we still haven't adequately cracked the "multiple people working on a large codebase" nut yet.

Adbot
ADBOT LOVES YOU

Soricidus
Oct 21, 2010
freedom-hating statist shill

Subjunctive posted:

he's totally right about one thing: state is the enemy
ron paul 2016 end the fed

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply