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

Nowadays it's really easy enough to use real Haskell in the browser with GHCJS, and FRP libraries like Reflex provide a much more complete experience than Elm's restricted form.


They give you all that stuff to some degree to cover over how toxic the culture and job is otherwise. Leaving Google was the best decision I ever made despite the fact that I now get none of those things and make significantly less money.


I left Google for very many of the reasons mentioned in the article and I'm a white male. So I can only imagine how hard it must be for minorities.

Thankfully I had the opportunity to make this change early in my career, although my financial situation is suffering dearly for it. And it's hard to swallow when everyone you know is making 2x your salary and just about all of them have a bunch of family money as well. (I grew up thinking I was upper middle class and somehow was the poorest person in pretty much all my social circles when I was at Google. The tech bubble is real.)

Keeping perspective and realizing that even if you leave toxic tech and take a pay cut you'll probably still be in the upper echelons of the world inequality distribution is hard but super important. And you'll realize that rich people are on average way shittier and probably not worth hanging out with anyway.


A rich man desires a simple life. A poor man a rich life. There is little sense chasing to play in a game you can never win.


Why is it on AMD to support TensorFlow? Pretty sure it is on the machine learning people to use the standard APIs like OpenCL or Vulkan etc instead of CUDA...


The’re not running a non-profit. It’s on them to respond to the market.


Goes the other way around too. This whole debacle demonstrates how dumb it is to base your product on a proprietary API with just one vendor.



Companies doing ML do not and should not base their decisions on some hypothetical considerations about long-term effects on market health, or just present/future hardware cost. They work with what's available. It is market's job to correct. And it surely will now, as current situation becomes more of a problem.


Nobody wanted to do this, but the lousy state of OpenCL compared to CUDA left them no choice. It really is so far ahead that OpenCL was never an option. It’s on AMD to fix that, since NVIDIA certainly won’t.


No, because CUDA has first class C++ support, while Khronos only added C++ support when it became visible no one wants to keep using C, when better options are available in CUDA via PTX.


As with many things: it depends on who wants it more. In this case, I think AMD probably cares more.


I don't fundamentally disagree with the article but this is ridiculous:

> People sometimes ask me, “What is the most important concept in political economy?” The answer is easy, but subtle: permissionless innovation, a strong presumption in favor of allowing experimentation with new technologies and with new business platforms that use those technologies.

Surely the ideas of capital, labor, markets, property, etc. are more important concepts in political economy?


CS education will have to improve dramatically both in reach and quality for that to be possible. Doesn't seem likely for many decades.


This is really well written and seems to agree with the traditional FP lore. I'm curious what led Alan Kay then to OOP in Smalltalk.


Alan Kay OOP is a lot closer to the Actor model that you see in languages like Erlang. To be overly reductive, its all message passing and not-exposed state.


Lisp programming has never never pure functional programming. It has been sometimes used to teach functional programming, but traditional Lisp's (Common Lisp as good example) has always been multi-paradigm language and object systems in Lisp's are fairly advanced.

Alan Kay's definition of OOP:

>OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.

http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay...


There are no "if" statements in Smalltalk. You call the"ifTrue:ifFalse" method on an instance of a Boolean, passing two lambdas for the respective cases. To this day I don't know what an "object/functional hybrid language" is, as Smalltalk was always that


OOP used to mean something quite different than it does today. Learn smalltalk, you will be surprised.


The Early History Of Smalltalk is a good discussion of this stuff: http://worrydream.com/EarlyHistoryOfSmalltalk/


A trivial but cute detail is how the author’s email address is specified in this 1993 paper:

kay2@apple.com.Internet#

A year or two later, there would be practically no other email systems than “Internet”.


"… the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages." - Alan Kay, The Early History of Smalltalk


Whatever Alan Kay thinks OOP is, it isn't what we think it is.


just fyi, Alan Kay coined the phrase Object Oriented Programming. So your statement, while true, should probably say what we call object oreinted programming should have a different name.


If you want to do OO Alan Kay style, you need late binding, metaobject protocol, and messages. The difference between dot.setX(10) and dot.moveToHorizontalPos(10) may seem irrelevant, but the other messing with internal state, other asking object to do something.

Bastard-OO is widely successful in everyday programming because classes enforce modules + mandatory interface definitions. They restrain spaghetti code inside smaller entities that are easily managed. Software architect can define these entities and give them to code monkeys to fill. Static compilation can do rudimentary validation. It's not small feat and enables some scaling, but it's dirty and not really OO.


He did popularly name what others (Nygaard and Dahl) invented, and for which they won ACM Turing Awards.

To quote Alan Kay:- "I don't think I invented 'Object-oriented' but more or less 'noticed' what was really powerful about just making everything from complete computers communicating with non-command messages. This was all chronicled in the HOPL II chapter I wrote 'The Early History of Smalltalk'."


Simula can't be praised too highly, and it was a huge influence. But if you take the care to check, you will find out that what I termed "Object Oriented" was quite different from Simula in (what I thought were) important ways. And if you are looking for the earliest inventions of ideas like these, there are several that predate Simula (take a look at that HOPL II chapter mentioned above)


I certainly don't want to underemphasise the huge contribution of Smalltalk.

Nevertheless, consider a couple of modern widely-used languages. C++ in terms of object-orientation, is based on Simula, and Java's object model is entirely based on Simula.

I argue that it was Nygaard and Dahl who first introduced those language's key concepts (objects, classes, sub-classing and virtual functions) in a coherent and programmable form. This is why Nygaard's Turing Award page states "Kristen Nygaard is internationally acknowledged as the co-inventor with Ole-Johan Dahl of object-oriented programming and the programming language SIMULA", and why I stated in my parent response that you named the term others invented, notwithstanding that today's common use isn't necessarily consistent with your coining of the term.


> Whatever Alan Kay thinks OOP is, it isn't what we think it is

I suspect that there are a lot of people still around who encountered other OOP models before C++ and it's derivatives became dominant for whom that's not really true.


Ralph Johnson (one of the GOF) stated there are three views of OOP: the Scandinavian view; the Mystical view; and the Software Engineering view.

> "The Scandinavian view is that an OO system is one whose creators realize that programming is modeling. The mystical view is that an OO system is one that is built out of objects that communicate by sending messages to each other, and computation is the messages flying from object to object. The software engineering view is that an OO system is one that supports data abstraction, polymorphism by late-binding of function calls, and inheritance."

Most today (sadly) know only variations of the Software Engineering viewpoint.


Rich people have done an absolutely astounding job of convincing poor conservatives that this nonsense makes sense.


> Rich people have done an absolutely astounding job of convincing poor conservatives that this nonsense makes sense.

I don't know why this was down voted, the process of slowly rephrasing the meaning of the American dream to mean "let's let a select few get super wealthy" from "working together everyone can become rich" is one of the biggest marketing scams in recent history.


Study Suggests Malnutrition Can Be Fixed With Food, Not Crop Hoarding


This is an interesting line of thought. The spread of capitalism was fueled by the new technology of the Industrial Revolution. Perhaps the next mode of production will be fueled by this 'Internet/Computer/Robot/AI Revolution'. Maybe the important change is this "trivially scalable output irrespective of capital" property, but no one really seems to know what this will lead to.


It seems like it could lead to a world of abundance for everyone. One potentially severe complication: if machines can make anything there's a blueprint for, they can also make all manner of weapons. What if the occasional unpredictable spree killer could fab up a crude cruise missile full of nerve gas instead of buying a bunch of rifles? Or even what if someone fabs a throng of standard tree-trimming robots and reprograms them to trim the limbs off humans instead?

Most people aren't willing to kill other people. In a world of abundance, I expect that even fewer will be willing. But the few killers who remain could have vastly amplified powers of destruction. I don't like how Marshall Brain's Manna solved the violence problem, but I haven't got any great answers of my own.


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

Search: