Hacker Newsnew | past | comments | ask | show | jobs | submit | pebblexe's commentslogin

Wow, thanks for mentioning that. I am used to being impressed by people on here, but the idea that he is this talented and blind is beyond my comprehension.

Man I suck as a programmer; I complain about every little thing and barely ever program.


The idea of it registering as a printer is ingenious.


I use the "Print to OneNote" feature for this a surprising amount. I can "Print to OneNote" on my Desktop, wait for it to sync to my Surface and draw/markup there, for example.



Hopefully they introduce namespaces (like matriona) and the type system of strongtalk with gradual typing.

edit: just realized this was an april fools :(


I've a lot of Pharo (ex Squeak) since a few years. Even done a MOOC which was very interesting. I could have believed this blog.


The best book I know about research is "Apprentice to Genius: The Making of a Scientific Dynasty":

https://www.amazon.com/dp/0801847575

It's a fantastic book.


I remember seeing this posted here and I was really impressed by it: https://github.com/yinwang0/ydiff


This video of him is fantastic: https://www.youtube.com/watch?v=BkvEpoqFx6c


I remember reading somewhere that there is funding/support from China. I can't find any support for that.

I stumbled upon this site in my search though http://red.reb4.me/


Yes, Team Red (as I like to call them), got some funding from a tech incubator, and Red's creator became Entrepreneur-in-Residence there for a time.


This link has all the links from red-lang.org that were posted on HN:

https://news.ycombinator.com/from?site=red-lang.org

And from that I saw:

http://www.red-lang.org/2015/01/dream-big-work-hard-and-make...

which mentions the funding etc.


At least some part of the Red team works from China, that's true. And looks like you found an old website :)


Are you kidding me?

Are you claiming the Sapir-Whorf hypothesis isn't true on ycombinator?

This is a forum famous for talking about blub languages and lisp. And if it's true for artificial languages, that's a strong indicator that it's true for human ones.

But sadly there are very few studies comparing programming languages and I've never seen one comparing human languages qualitatively.


I have a fairly large sample set suggesting that claiming to know C++ on your resume is not correlated with understanding the concept of memory allocation.


But the evidence for programming languages is that the Sapir-Whorf hypothesis is completely and totally false. To take a topical example, a lot of people complain that the idea of classes in JavaScript is antithetical to its underlying design philosophy. Presume that the statement is true (it's debatable), and you'd find that many of the people who push for this feature are likely to be those who have known no other language than JS. Their views are not being shaped by the language itself but by the views of those who taught the language, who like the paradigms of classes and came up with multiple, sometimes somewhat incompatible, ways of expressing that paradigm in JS.

The problem of Blub is less that people are incapable of understanding concepts, but that the people explaining concepts are incapable of explaining them. I've yet to find a feature that I couldn't explain to a "Blub" programmer. If you take, e.g., call/cc, sure, describing that to a mediocre Java programmer would probably elicit a blank stare. But I could instead describe the yield operator and get excited responses on to where it would be useful, despite it being basically the same thing as a call/cc (modulo issues like saving the call stack).

The evidence for natural languages is equally poor, although it's obfuscated by the extreme difficulty of separating culture from language in early childhood instruction.


Do you have to manipulate text? Perl is probably better than C for that.

Do you have to write a program that operates on lists? Lisp probably is better than Java.

Do you have to write a formal proof? Coq is probably better than Python.

Do you have to write distributed networking code? Erlang is probably better than PHP.

How can the strengths of each language not be direct support for linguistic relativity? All that means is that certain concepts are easier to manipulate and understand in certain languages.


> How can the strengths of each language not be direct support for linguistic relativity? All that means is that certain concepts are easier to manipulate and understand in certain languages.

The principle of linguistic relativity is that language (particularly L1) influences the thought patterns of those who use it. It does not state that certain thought patterns are easier to express in various languages.

To demonstrate support for linguistic relativity, it's not sufficient to say that Perl is better at text manipulation than C. You'd have to say first that Perl programmers tend to view generic programming problems (say, how to route email messages) as questions of text manipulation rather than other paradigms. You would also have to show that this paradigmatic shift is a result of the language itself, and not other factors including (but not limited to) language instruction or library availability.

In terms of natural language, sure, I can't translate the sentence "Time flies like an arrow; fruit flies like a banana" effectively into French (since the different senses of "to fly" are «voler» and «mouche»). But that doesn't matter for linguistic relativity. The linguistic relativity argument is over whether or not the difference between English tending to use "do" for its modals precipitates a different worldview than the French «faire» ("make").


> You'd have to say first that Perl programmers tend to view generic programming problems (say, how to route email messages) as questions of text manipulation rather than other paradigms.

Which I think you could actually make a strong case for. It's very natural in Perl to reach for a regular expression instead of other tools, and to join data into and split data out of strings, since the core data types don't distinguish between numerical and string data, the operators do.


The first problem here is that you mentioned Sapir-Whorf, and Saphir-Whorf does not have a precise definition. You simply be talking past people with respect to how strong a degree of relativity you are claiming.

I can agree that different languages are more suitable for different purposes and affect how we express different problems. That is consistent with a very weak form of Sapir-Whorf. If that's the extent of your claim, then I don't think there's much controversy over that specific claim.


What's the difference between 'determines' and 'influences'? I mean isn't that just a sliding scale? If a concept is incredibly difficult to formulate in a given language, could it not be said that the language has limited my thinking?


Sapir-Whorf is really a family of hypotheses, not a singular one. The differences being degree of influence from language on thought, and amount of feedback based on culture/experience. If my language lacks the concept for an ocean or sea, but I live next to one, clearly we'll find a way to express "seaward" and other related concepts, though the language may require more complex circumlocutions or inventing/borrowing words. But returning that concept and word to my inland relatives may be nigh impossible, because their experience (not just language) doesn't allow them to consider such a thing as even real. They may accept the word, but not the reality of it until witnessing it.

And, yes, if a concept is hard to express in a language that it, potentially, limits your thinking. If all thought is just language, then it may even bar thinking of concepts. But that gets into another debate, is language the key to thought, or is language an expression of thought. We can all probably conceive of things or maybe even have witnessed things which we are unable to articulate in many or all existing languages, but language expands or we adopt new languages (such as mathematics and calculus in particular to express physics). The precise motion of the planets could be explained in plain English, through complex circumlocutions. But calculus and its derived languages allow us to express this concept far more easily (even if just the English translation of the formulae and expressions, and not the precise notations used by physicists and mathematicians).


How do you distinguish between the case where your language is limiting your thinking vs the case where your thinking is limiting your use of the language?

If an individual can't express a concept, how can you be sure they 'possess' that concept?

(answer might be found in bilinguals. There was an early saint from capadoccia who was grateful some of the more sophisticated greek heresies couldn't even be expressed in his language).


It is a sliding scale, and that's the problem. Without specifying exactly what you mean, it's impossible to say if we agree with your interpretation or not.


No, programming languages are completely different from natural languages. You are conflating some concepts here. There are artificial programming languages which are context free and express computation more or less. Then there are artificial and human languages which express statements in real life and are not context free. Its obvious that some methods of expressing computation are easier for humans to comprehend than others and are formed on a much more mathematically logical basis. For example, the lambda calculus is much more readable than a turing machine and has 3 easy mathematical rules, although it is harder to implement on a von Neumann model. Sapir Whorf applies strictly to natural languages and to some extent constructed ones, but here most modern linguists agree it in its strong form has been discredited in the same way that race instrinsically influencing behavior has been discredited. People are people, and looking at historical sound change should convince that sound changes over a long period of time do not change any absolute measure of "complexity" in a language in a well defined way.


Where is it written that programming languages can't support the theory of linguistic relativity?


Which form of Sapir-Whorf? Sapir-Whorf is not an entity that can have a theory. Sapir and Whorf are two different scientists that never co-authored anything, and certainly never set out a hypothesis.

The strong form of Sapir-Whorf proposes that language completely determines the scope of cognitive processes. This form is generally considered to be false.

The weak form suggests that language influences thought, but the extent of such influence claimed can vary greatly depending on who is talking.

I would tend to think that might be true in the weaker forms, but at the same time my experience with programming languages is that you can write your desired type of code in any language and many developers do so, so I don't believe there is evidence that the influence is very strong.

E.g. I've written object oriented assembler. Object oriented C is almost a rite of passage. You can implement closures in C (been there done that), or co-operative multitasking (not been there, but others have).

Greenspun's Tenth Rule states:

"Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."

And you can write functional Ruby (you can even write Ruby with immutability by freezing objects, though you'll find a lot of third party code breaking). Back when C was still relatively young and Pascal was still popular, it was not unheard of to come across C code that started something like:

    #define begin {
    #define end }
... and more, followed by C code superficially looking like Pascal.

If anything, programming languages have a long history of people inventing ways of emulating things they've seen and liked in other languages, but that are foreign to the language they are working in.

So while I do think that language influences thinking to some extent, I also think that influence is weak enough to be easily overridden by other things, such as sufficiently strong zealotery with respect to the advantages of some programming practice or another.

I'm Norwegian, but live in the UK and mostly think in English, and I do occasionally come across things that might qualify as language having influenced my thinking, but they are unremarkable enough most of the time that I rarely take note of it. In fact, trying to think of it now, I can't really come up with any good examples.

For programming languages it is easier. I would not immediatly think "first let's make a class for ..." when programming assembler, for exampl. You may eventually end up with concepts of objects and classes in assembler programs too, but if that's the first tool you think of, you'd probably pick another language. How to structure control flow changes. How to treat variables changes (if things can fit in registers vs. is suitable to push on the stack vs. directly accessing memory suddenly matters much more).

But still, at the same time, you can program assembler the way you program a higher-level language if that is what you want. The language only shapes your thinking as much as you let it. You'll probably be a better programmer in that language if you let it shape how you write code in that language, though.


Sorry about the title. Thank you mods for fixing it.


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

Search: