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

I'd disagree with that. I think coding languages are in a very real sense human languages. They have less history, less literature, less culture, and different uses but they have history, literature, culture, and uses just like any language.


Only if you consider computers to be people. Human languages are for communicating with humans. Programming languages are for communicating with computers.

For example, this week I've been hanging out on a couple of open-source project IRC channels. People aren't talking to each other in Python or Java on those channels.


> Programming languages are for communicating with computers.

Machine code of the lowest level that exist for a particular machine is for communicating with computers. All programming languages at higher levels than that exist to improve communication with humans (many of them of other purposes as well, but all of them, relative to machine code, include communicating with humans as one of their motivating purposes for existing.)

> For example, this week I've been hanging out on a couple of open-source project IRC channels. People aren't talking to each other in Python or Java on those channels.

That may be the case for those channels, but there's lots of places -- even outside of the programs designed to executed, where the source code is definitely used for communicating with humans, particularly future developers on the same code base -- where programming languages are used for human communication. I mean, that's the whole reason that HN has a code context in comments.


Natural language's main purpose is human-to-human communication.

Programming language's main purpose is not.

This is a weird semantic argument, but I think you understand the parent's point.


> Natural language's main purpose is human-to-human communication.

Agreed.

> Programming language's main purpose is not.

For languages other than raw machine code, the main purpose that they exist is human-to-human communication. A constraint that they face is the need to be able to be reducable to machine code to also support human-machine communication, but other than human-to-human communication (including time-shifted one-way communication to the future of the same human that initially created a work), there is no reason for them to exist at all.

> I think you understand the parent's point.

Sure, I understand the point. I'm also explicitly disagreeing with it.


For languages other than raw machine code, the main purpose that they exist is human-to-human communication.

If this were the case, then write-once software would be done in machine code. Instead, the 'constraint' you mention is the main purpose of programming languages.


Programming languages are absolutely for communicating with humans. Source comments are just one trivial proof of that.


Your trivial proof is "this thing that is explicitly not part of the language"? The whole point of comments is to say "these next characters are not part of language -foo-, so don't compile/interpret them".

And if you notice, comments are written in a 'traditional' human language, usually English.


if code wasn't a human language we'd write it in binary, straight to disk.


I can see my belt, but that doesn't mean the purpose of my belt is to be seen. You're twisting my original comment to say something it didn't say.


"Programs must be written for people to read, and only incidentally for machines to execute." --SICP


+1 to back-testing the stats.

Edit: whoa, downvoters! This comment was about getting more information to inform productive discussion. Not sure who would disagree with that?


> this is not due to talent per se but the same people sufficiently obsessed with computer science to teach themselves at a young age also have the obsession to learn and master the more esoteric parts after they've become excellent programmers even though the practical utility is much less in practice

Agreed. I'd add this thought: code is a human language and like all languages fluency is most easily developed as a child but immersion and repetition can help adults develop it too.


I disagree. A PL is not a "natural language" by definition (it's eminently artificial). Although PLs do evolve over time, they seem to be essentially different in structure from natural language, in that they have a precise syntax and well-defined semantics, unlike natural language. And, I disagree that fluency -- in a PL or a natural language -- is more easily developed as child than as an adult. Children just have a more powerful learning environment (total immersion).

Having said that, I do think that learning programming young is a good idea, but not because it's "easier" for children. Instead, they simply have a much longer time to get used to the "logical way of thinking" (I don't know of a more concrete term for this, but hopefully you know what I mean).

I would not expect someone who started at 10 and is now 20 (10 years experience) to be a better programmer than someone who started at 20 and is now 30, or even someone who started at 50 and is now 60.


I'd say human language is the superset of artificial language and natural language. Though the artifical/natural labels are a poor fit.

Experience is a big factor, but I think there's a limit to the amount of language learning most 50 year olds can undergo, even in a decade. But luckily for us we agree young exposure to code is a good thing :)


> [...] there's a limit to the amount of language learning most 50 year olds can undergo, even in a decade.

I wonder why you think this is true? I have personally never been given any reason to believe that a 50 year old is any less able to learn a language than a 0 year old. In fact, if you took a 50 year old and dumped them alone in a foreign country and gave them one or two dedicated language teachers and left them there for many years (which is the environment in which most children learn a language), I expect they would learn the language just as well as the child, if not better.


http://scholar.google.com/scholar?q=language+learning+rates+...

It's well documented that the median language-learning speed/ability of younger people is greater than that of older people.


Hmm... maybe this is just me not being familiar with the literature, but from that link, it looks like there are very mixed results (some studies report no difference based on age of acquisition, whereas others report that children learn more quickly/effectively). It does seem like the percentage weighs in your favor though, so I suppose I should adjust my beliefs on the matter.


I have some personal experience that suggests otherwise. A close relative of mine aspired to live in France for most of her life, and after a divorce she decided to pick up and move to Paris at the age of 48. When she first moved her French was quite bad, and Parisians would regularly switch to English when they heard her broken speech. Fast-forward to 8 years later and she is now fluent to the point that she's able to take on clients to her psychotherapy practice who speak only French. Her accent could use some work, and it took 7 or 8 years of complete immersion, but I don't know that there's any hard "limit" per se, to what someone can learn at 50 — it just takes longer.


Sounds like your relative had an above-median learning rate. But a median 10 year old could likely learn a new language to fluency in even less time.


Do you have any sources to argue that code is more similar to human language than it is to mathematics?


False dichotomy. Mathematics is also a human language. Code and mathematics are more similar in many respects than code and Spanish. but they all share common features of being cultural, mutable, consensus-based, imperfect, and historically embedded.

Wittgenstein's philosophy of mathematics might be interesting to you. His description of calculation as a linguistic process should settle the issue if you buy it.

Edit: just found this related item on HN, a math prof examining the nature of a proof: http://profkeithdevlin.org/2014/11/24/what-is-a-proof-really...


ok, sure. So you are saying that the OPs statement "code is more easily learned as a child because language is more easily learned as a child" is a pointless narrowing of the idea that "code is more easily learned as a child because all cultural, mutable, consensus based concepts are more easily learned as a child"?


I believe they're roughly synonymous, yes. The processes of aging and aculturation both involve an ossification of our ideas and concepts that make learning new ones comparatively difficult. Vinod Khosla has talked extensively about how he has to fight these processes in himself to bring a 'beginners mind' to bear on new startup ideas. The median effort required to do this is lower in younger people.

By the way, older people who share the characteristics of being only lightly acculturated (i.e. eccentric) share the relevant characteristics with children and may be able to learn things like languages with childlike speed. Hence, I believe, PG's observation that startup founders of any age tend to be weird, quirky, or poorly socialized in various ways.


I don't think your last sentence is a at all true.

all cultural, mutable, consensus based concepts are more easily learned as a child

There are many "hobbies" that have a cultural component. It helps to learn these earlier, because it removes cognitive overhead during later studies. But its simply not true that children are better at learning everything. They are hard-wired for language tho. Plenty of other things they are un/der developed for.


Well mathematics is also a language in a sense. At least notation. But otherwise they are very very different things.

I have recently found tools that are mostly used for learning natural languages are also useful for learning programming languages. Computer flash card programs, like Anki, are effective at memorizing a vocabulary efficiently. Just like real flash cards, you put an English word or definition on one side, and the word or phrase on the other side.

So as I've been going through a Coursera on the R programming language, every time the instructor explains a new function or way of doing something, I put it in an Anki flash card. I haven't been doing it for long enough to be certain, but so far I think it's been pretty effective. Because 90% of the work of learning a programming language is just like a natural language; the vocabulary and grammar.

You could also use this to learn mathematical notation, but that's only a small part of it. I have yet to find any use for this system in my other Coursera course on logic.


Interesting that you've found language study techniques useful. I also believe we should teach code like we teach other languages: http://blog.trinket.io/code-and-language/


This is a great story and project.

An apology (in the original sense) of Jessica's work for those who think that the experiences of these individuals don't matter: What I think people don't get about Jessica's interviews is that they're part of a scientific process of understanding what makes great founders and great companies. Many discredit qualitative, observational scientific data. But for new, rare, or poorly understood phenomena, observation is the only way to make scientific progress. In engineering the phenomena are often well understood, common, and within the discipline, familiar. In this case deductive logic, reasoning from known principles, is quite fruitful; but its success biases engineers against inductive reasoning. But for other subjects, such as what makes a great startup founder, or what makes a great female startup founder, the inductive method is much more fruitful.

This is not some anomaly: all sciences started with observation and the inductive method. These are the beginnings of insight, generating hypotheses to be tested. We're still quite early in our understanding of startups, and even more so in our understanding of female-founded startups, that this approach is not just warranted, it's the only way to make true progress.

Jessica is like the Jane Goodall of startup science. Even though she's studying individual founders she's ultimately helping us understand more about ourselves.


I agree that this is a great project. But, do you think it's right to call this a "scientific process of understanding"?

It seems to me that the field (as it were) is simply in a pre-scientific phase of exploration and experimentation. Once we have a concrete basis for performing repeatable, independent experiments to (dis)prove concrete hypotheses, then the field will have entered a scientific stage.


No, though I don't think you're alone in drawing the line of science around deduction. I think of science as a cycle:

Phenomenon > observation > Induced hypothesis > Method choice > Deduction via metrics > Phenomenon ...

Starting at "a concrete basis for performing repeatable, independent experiments" is a skyhook. Scientists have a hand in generating that "basis" and it's called inductive logic.

I think we agree on the fact that the production of knowledge involves the testing of hypotheses but not whether the generation of hypotheses via observation of phenomena is part of science. Semantic, I suppose, but I think it's crucial to take the rudder so to speak by developing hypotheses deliberately.


Well, I was trying to start a discussion over semantics anyway.

"Science" is already a very vague term, and I think it's important to keep it as concrete as possible in meaning. In my mind, science is associated with testable hypotheses. The generation of hypotheses could be considered part of science, but only if those hypotheses are testable, and in fact tested through experimentation. Otherwise you are simply making guesses. I think this article falls into the "guessing" category.

I don't want "prescientific" to be seen as derogatory, though, which I think may confuse people. It's an important stage in the development of a field of thought. As they say, a field of human endeavor progresses through three stages as our understanding grows: first it's a philosophy, then a science, then an art.

It's only once people start saying anything and everything that improves human knowledge is "science" that "unscientific" becomes insulting. I think, if we keep the meaning of "science" concrete and explicit, then we can acknowledge that there are unscientific ways of learning and advancing without sounding insulting.


Interesting take, and I think I see your point with that clarification of your view of stages of thought. I don't share that concept of the progression of ideas, nor do I feel the need to make the distinction between science and pre science.

I do think that much of what humans do is ascientific. But Jessica's examination of founders, esp via a structured interview, is not in this category.


Einstein made "guesses", but I consider theoretical physics to be science, it's like preparation of food being part of digestion despite not being an internal biological process.


Speaking strictly to Einstein, he made testable predictions, and that's what made that work a part of the scientific process.

Whether something is science or not doesn't affect whether it's good or worthwhile knowledge, though! You wouldn't stop running user studies just because you're not going to get to population-level significance using them. There are many paths.


I don't think anyone discredits qualitative data. All of PG's essays, the rest of the startup club's stuff about 'starting a great company', and all business books are qualitative data. HN/we eat that up.

Also, your wording might be a little alienating. Female founders aren't a rare, 'phenomena' like proton decay or black holes, they're people too. Also, saying Jessica is the Jane Goodall of startups implies female founders are monkeys. They're not a different species either.


Startups, and startup founders as a whole are rare phenomena. Don't read anything more into the analogies than that. Thanks, though, for the word of caution.


Margaret Mead is probably a better analog than Jane Goodall, since it's humans studying humans, and the methodology most resembles cultural anthropology. Cultural anthropology has been around for well over 100 years. Yet even today, the extent to which it is a "science" is controversial, even among anthropologists. The AAA removed the word from their mission statement a few years ago, which led to a lot of public debate and coverage.

So, while I agree that this sort of information-gathering is useful, I don't think your apology is helped by wrapping it so firmly in the mantle of science. Rather than lending an air of trust, you're tapping into a debate and controversy that goes far deeper than women in startups.


I'm happy to wade into that debate, because I think it's relevant. When this article first came out there were comments near the top questioning the relevance of this type of inquiry as, roughly, unscientific. I wanted to show how it fits into a scientific framework just fine.

You're likely right that an apology with less commitment could have been effective as well.

Interesting to think of Mead as the analog, and perhaps a more apt one. Thanks. Personally I'm much more familiar with biology and with Goodall. But, from my perspective cultural anthropology is a science whether or not it wants to be. The AAAs rejection of 'science' may be more indicative of science's rejection of inductive logic than anything.


I just finished my master's thesis on hardware founders and entrepreneurs in cleantech (http://amiculous.com/thesis.pdf). She is following something called the "case study research method." It is an accepted research method in social sciences, when there are too many variables to do a more classical scientific study. For more information, see: http://www.amazon.com/Case-Study-Research-Methods-Applied/dp...


Along the ways of furthering our understanding, it'd be really fascinating--if it hasn't been done already--to see a demographic breakdown of the YC founders.

For example, I notice that there don't appear to be any second-or-later generation African-Americans or Latino-Americans represented in the 40 women shown.

Similarly, it takes a little digging through all of the interviews to suss out whether they're immigrants, visiting, what they studied, whether they've had previous business experience, etc.


Agreed. A focus on gender is warranted, but not to the exclusion of other demographics. There are likely a great many large startups waiting to be built in each under-represented demographic. These startups aren't yet built because not enough domain experts have the technical ability and startup knowledge they need to build them. Which, I believe, is YC and 500's business rationale for encouraging diversity.


Honest question: does this mean this vulnerability has been in bash for essentially its entire history and someone only discovered it now?

Seems quite likely that someone would have discovered it sooner, especially since it's so simple to exploit.


Ease of exploitation and ease of discovery have basically nothing to do with each other.

Relatedly, "many eyes makes all bugs shallow" is, and always has been, totally horsepuckey. (And despite it being horsepuckey, and horsepuckey which is trivially exploitable in that if you believe it you'll produce software which can get owned by people who are better at e.g. counting to four than you are, people still believe it to this day.)


> Relatedly, "many eyes makes all bugs shallow" is, and always has been, totally horsepuckey.

Consider that the contraction of the more complete saying "Many eyes make bugs shallower than they would be if there were only few eyes".


But then there's the "Many eyes lead to a sense of complacency" issue -- like "No-one ever got fired for buying IBM|Microsoft|Blackberry"


Given that this is a 20 year old bug, that suggests that the number of eyes on this code were either zero or uninterested.

Also, the BEAST bug was identified 20 years ago and nothing was done until Thai and Juliano caused a mild panic.


This has been there for nearly the entire history of Bash, like 2 decades.


I found OhLife super helpful as a way of keeping a train of thought going. Am planning an open source side project like OhLife but that supports a few unobtrusive power features like topics. Email me at elliott @trinket io if you're interested / want to help.

A project like this should be an open source side project we build because we want it, not a startup.


"Photographically speaking, having the camera with you is a real benefit." - Jay Maisel

Which one's always on you? If you, like some photographers I know, always have your camera around your neck, great. For everyone else, there's the iPhone.

Edit- added attribution


Agree! Professional photographers will still use a DSLR but regular people will shoot these images with their iPhones. And the new iPhone is brilliant in it.


multi-planetary.

Though I'm skeptical that humans being born and dying on e.g. Mars will happen in the next couple hundred years. The economics seem strange. Maybe there's some amazing technologies that require rare minerals or something but I'm unsure how a Martian economy could sustain itself. Why would people go actually live there when so much of the work could be automated? There will be more uninhabited inhabitable space on Earth than on any planet for a long time to come.


If you know Python, it's an amazing language. Ruby and Javascript are incredibly useful for web dev, but like angersock said, the key is to build projects. Period. If Python's the language you feel most comfortable in, get going with it and don't switch until after a project is complete.

I'd suggest Flask as a starting point if you're looking for web framework experience. Twisted might be more your style if you're looking at highly concurrent networking projects.

'Distributed systems' is a little broad almost- are there any software projects in particular in that space that you're interested in and could develop expertise in? If so, I'd focus there.


Great news!


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: