Hacker News new | past | comments | ask | show | jobs | submit login
Girls Need Math (pacifict.com)
101 points by pooriaazimi on Sept 1, 2012 | hide | past | favorite | 67 comments



I've experienced something similar from the other point of view. I was one of the 15 guys in class and sat next to the only girl in the class. I remember the teacher giving us exercises and I would type up the code in few minutes, while she would struggle for half hour. She kept telling me how much smarter I was and how she didn't get it, and I would help her through it.

What she never realized was that I've already implemented a 90% similar code twice in the last month in my spare time. Or that after she got off the school to hang out with her friends, I went to the library to do some reading, or write the next module of the awesome game I was developing.

What I'm trying to say is that in my experience the smarter ones is a lazy way of saying "the ones that had more interest and spent much more time on it already than you did". And of course, the argument isn't unique to girls and applies just as well to other guy friends. But in the end, in my experience it has always traced back to raw interest in the topic. So I've always said that girls are not different in any mystical raw Mathematical intelligence way, it's just that for some reason they tend to have less interest in these topics, on average. And why is that? Upbringing and early biases is my best guess - The mother who pulls away the rocket ship from a girls hands and puts in a Barbie is at fault. (But realistically, it is probably only one of the factors.) Worst of all, there is a positive feedback loop involved where if someone thinks they are not good at something, they will only become less and less interested.


I think you're largely correct, but you're probably underestimating how much societal pressure goes into making things this way. Parents taking away the rocket ship is just the tip of the iceberg. Not only are young girls pushed away from science and other subjects that are considered masculine, but they're also socialized to have a "broad range" of interests and not to obsess over any one thing, which is the exact trait that enabled me and many other programmers I know to get ahead in programming. I underestimated it too until I read Unlocking the Clubhouse (http://mitpress.mit.edu/catalog/item/default.asp?tid=8515...) a few months ago.

For problems this large and systemic, significant corrective action and positive reinforcement are required.


Thank you! I'm getting the book now.

I was friends with one highschooler who constantly showed off his math knowledge. He much preferred to leave people (many of whom were poor) with the impression that he was superhuman, rather than proactively explaining that his father was a mathematician, his mother taught him at his Montessori grade school, and his family was very well-off...

I think a significant problem is the self-aggrandizing way males are socialized. Often to intimidate. This interacts badly with how females are pressured to defer and feel inferior.


I had a somewhat similar experience. I took a CS class in high school and, having had something like a four-year head start, did pick the material up somewhat faster than other people.

The biggest difference I noted didn't have anything to do with what the other students did in their spare time. Rather, the major difference was that some students would immediately ask for help as soon as they ran into any sort of trouble where others would spend some time trying to overcome the problem themselves.

The latter approach is far more important than anything you do in the subject itself--it teaches you the skills you need to solve problems yourself. Forcing yourself to sift through documentation, try different approaches and just sit there staring at the screen and thinking prepares you for similar problems in the future where just asking for help only teaches you how to solve your immediate issue (at best).

This post is gender-agnostic because it applied to both boys and girls in my class. I'm sure there are plenty of gender-specific issues as well, but this was the single most important factor I saw in how well other students did.


In case someone wonders why I thought it's HN-worthy: There are lots of teenagers on HN. I remember a poll from quite a while ago that a good 300 had answered "I'm under 17" or something like that. Now there must be more of them and this might be of interest to them.

What actually got me into programming was a writer (of computer-related topics) praising my absolutely shitty Flash app/game when I was 14 (or maybe 13). It felt really good. Having someone (who is already successful) tell you at that age that you shouldn't care if you're not the best and what matters is how much you try means a great deal. It did, at least to me.

It's really a cliché article, but I'm glad it made it to the front page. Amidst all these Big Co nonsense articles.


HS student here:

We have a good collective of students who hang out after class ends every couple days to discuss & practice Cyber Security. The unfortunate problem is that the majority of the guys overshadow the girls so much in regards to behavior that we have to do similar motivational runs to keep people in that deserve to be there. At least where I'm at, there's an air of disrespect that constantly has to get pushed back, lest the truly inspired people leave out of boredom or hatred for it.

Thanks!


Good post. Today my niece and I are going to start hacking her first programs, a website and an arduino (turn on/off an LED). It helps not to treat girls as "girls" (in the traditional US media style), but as people. Makes a lot of difference. They struggle not because of their gender but due to the difficulty of the problems.


I initially read this without looking at the date at the top (1997). Made me a little sad that I assumed the entire exchange happened recently. Not much has changed in the 15 years since.


I grew up in Catholic schools which were not co-ed. I disliked so much about a single-sex education, but I'd imagine that for girls it can be beneficial in this respect.

We need to do all we can to encourage girls in match/science/CS. The shortage of women in incredible. And it will lead to women not being represented not just in lower-level single contributor jobs, but also at the executive level as men move from programmer to manager to VP.


This again.

>We need to do all we can to encourage girls in match/science/CS. //

Why is sex so important to math/science/CS that you must, presumably, aim for a population that is directly representative of the proportions in the wider population.

Presumably you're also concerned that there is an under-representation of men in, oh I don't know, 'family and consumer science'? If not, why not?


The field of CS is currently where the field of law was in 1970. The overt discrimination of the 1950's and 1960's was gone, but indirect forces existed to keep the number of women in the legal field small. Law schools and law firms made determined efforts to increase the representation of women. Fast forward to today, half of all law schools graduates are women. Nearly half of all associates in large law firms are women. At some old-line NYC firms, 20-25% of partners are women. Law schools and law firms no longer make a concerted effort to recruit women, they just happen to end up with roughly evenly distributed classes.

It's easy to say that women are just "less interested" in CS/Math, but that's a cop-out. One might point out that a job in a large law firm is often boring and exceedingly detail-oriented (it's kind of like debugging code actually). One might point out that such jobs are also guarded by an entrance examination that depends very heavily on formal logic, something women aren't stereotypical good at. Yet, law firms around the country are full of women.

The problem is not so much that there are not enough women in CS. It's that 40% of the kids who get SAT Math scores of 700+, and 30% who get a perfect 800, are girls, yet top CS programs, which presumably screen heavily for math aptitude, might have only 5-10% girls. Given that CS is such a great way to a solid middle class income, and so many girls clearly have the aptitude for it, I find it very difficult to chalk up their self-selection out of CS to merely "interest."


> It's easy to say that women are just "less interested" in CS/Math, but that's a cop-out. One might point out that a job in a large law firm is often boring and exceedingly detail-oriented (it's kind of like debugging code actually). One might point out that such jobs are also guarded by an entrance examination that depends very heavily on formal logic, something women aren't stereotypical good at. Yet, law firms around the country are full of women.

> ...

> Given that CS is such a great way to a solid middle class income, and so many girls clearly have the aptitude for it, I find it very difficult to chalk up their self-selection out of CS to merely "interest."

Here's the thing. Law is a high-status field. STEM frankly hasn't been until very recently, which is why it's suddenly become an issue. When the tech bubble pops and the rest of the economy recovers, STEM careers will return to low-status and the feminist outrage will dissipate. No one seems to mind that, say, garbage handling or logging are male-dominated professions, though if there was an irrational exuberance for timber instead of software maybe there would be more outrage about women loggers.

Incidentally, women seem to be less underrepresented among CS folks in cultures where STEM professions are not historically low-status. It just seems that women aren't interested in breaking into male-dominated, low-status professions. Who can blame them? It's a lot of effort for very little reward. Women can already get into female-dominated, low-status professions more easily.


"women seem to be less underrepresented among CS folks in cultures where STEM professions are not historically low-status."

The correlation isn't so clear. STEM is even more unpopular among Japanese and Korean women than English-speaking nation women.

But thanks for pointing out that CS is hardly a desirable route to a good and comfortable life unless you love it for its own sake. It requires the same level of skills and ability necessary for a much more profitable and less difficult career in medicine, law, accountancy, dentistry, business administration, public administration, or the like.


>It's easy to say that women are just "less interested" in CS/Math, but that's a cop-out.

Or it could simply be true. You're right, there are certainly a lot of girls who are capable of learning math and computer programming. But that doesn't address the interest question.


You presume too much. What we, I anyway, want is for the CS "population" to reflect the population of people who are naturally good at and enjoy CS. This may not have the same gender ratio as the population at large, but I'm pretty sure we're not there now either. And that means some people are not doing what they they're best at, what they were meant to do, which is bad for both them and society.

Now as a tactical concern on the road there, there are definitely some men in the system who will not react well to there being more women. Trying to change them with reason will have limited effectiveness. I think what we need to do is put enough highly competent women in front of them that they either have to shut up or look like idiots, thus marginalizing them and their bad attitudes. This will make it easier to get to the natural, aptitude-based proportion of people in the field. This is, IMO, a good reason to encourage well-suited women to go into the field. I don't know of a better way to accomplish the goal of reducing gender bias overall.


>that means some people are not doing what they they're best at //

It's a laudable aim to help people do what they enjoy as a career. It's laughably naive to suppose that we're able to have most people do something they're good at and enjoy as a career. That unfortunately is not the way that society is structured.

If education works and people have abilities and interests then who does the mundane and uninteresting jobs?

>a good reason to encourage well-suited women to go into the field //

Why do we have to be sexist about it, why not just encourage well-suited people?


Well, computers are what I know so I'm concerned about that. I guess if I were a male nurse I'd be saying the same thing about men.

I think it's important to have somewhat equal representation. First, we have a shortage of developers so this is an easy way to address that. Second, like the subject of this article, a lot of girls would be interested in CS but because of the lack of women they're turned off. This is a real shame. Third, CS people are literally designing our future. Do we want to live in a world as envisioned by men or as white men or as a fair balance of people?


There are 2^(6 billion) subgroups of humanity. A large number [1] of those subgroups are poorly represented among developers - the number is too large to represent with a long integer.

Why do you choose one particular subgroup to be concerned about?

[1] The number is, however, very small in comparison to 2^(6 billion).


Because this particular subgroup makes up the majority of the population. This should be blindingly obvious to anyone who isn't trying to be disingenuous.


There are (2^(6 billion)) / 2 subgroups which comprise the majority of the population. Your criterion doesn't distinguish between any of these.

Your criterion also says we should not be concerned if a minority group (e.g. black people, people with ssn % 7 == 2) is underrepresented.


The amount of formal logic fail in this two-sentence post is impressive.


Yeah, complete fail. Obviously since 6 billion is even, the number's (2^(6 billion) - (2^(6 billion))! / (2^(3 billion))!^2) / 2.


This is an exceedingly poor way of looking at things.

First, and pedantically, your statement "are poorly represented among developers" doesn't make sense as I don't know what "representation" would mean in the context of arbitrary subsets of humans.

Admittedly, you could phrase it as "developers are poorly represented in the subgroup", and it would work, but given that you phrased it the way you did, I feel like you didn't really think through what you were saying.

As for why the particular subgroup in question is special, well, it has an important quality:

If you ask people to construct a model of a human in n dimensions, I guarantee you that almost everyone will include "gender" as one of those dimensions. So, it's an important characteristic.

Next, wouldn't you know it, this particular subgroup we're concerned with is one where every single member has the same value in that dimension, while every single member of its complement has a different value! Wow, what are the odds!? Among the powerset of humans, there are probably fewer than ~10^5 subgroups where the humans contained therein share the same value in an important dimension of our model. 10^5 / 2^(10^9), what is that, like, practically zero!?

Okay, so now we've narrowed down the practically limitless subgroups of humanity to a reasonable number -- but does that mean anything? Are we on the right track? Holy cow! It appears that humans with this particular value of this particular dimension have been treated completely differently from other humans with another value in that same dimension. This can't just be simple coincidence, we must be on to something here. When we've investigated this in the past and made changes, the collective social utility has increased. Cool.

So, to recap:

1) We've constructed a model of a human by characterizing them by their most important traits, as determined by an extensive survey of humans themselves.

2) We've used this model to narrow down the field of the powerset of humans to only subgroups whose representation or under-representation among developers may mean something.

3) We've seen that using this technique in the past to investigate the subset of humans with a certain value in a certain dimension has achieved positive results as measured by the increase in social utility per capita of that group, with a relatively minor decrease in the social utility per capita of its complement.

4) Yes, it is worth being concerned about this one particular subgroup, because among the 2^(6 billion) subgroups of humans, there might be something easily correctable which yields great results.


I'm not sure why it's a "poor way of looking at things". I'm an individualist, so I believe that only harms perpetrated against specific individuals matter.

You seem to disagree, so I'm asking for a philosophical justification for your beliefs. Apparently it's based on an argumentum ad populum - if the masses consider some dimension empirically meaningful, slicing humanity on that dimension is morally meaningful as well.

Then again, if you want to go down the road of argumentum ad populum, I can guarantee you that everyone will also consider "height", "weight", "hair color", "good looks" and "pleasant personality" as meaningful dimensions to classify humans.

People with high levels of "good looks" and "pleasant personality" are also treated differently than people with low levels of these values, as are people with a high level of weight / height.

Should we also be concerned if, e.g., ugly people or those with an unpleasant personality are poorly represented in some field?

Yes, it is worth being concerned about this one particular subgroup, because among the 2^(6 billion) subgroups of humans, there might be something easily correctable which yields great results.

If you want to appeal to historical discrimination as something easily correctable, we've already fixed it. It worked across the board, but to varying degrees (e.g. women went up to >50% of doctors, <20% of physicists, >50% of journalists, etc).


There are fewer than 2^33 humans on the planet, so I do not think "2^(6 billion) subgroups of humanity" is an accurate figure.



> Third, CS people are literally designing our future.

That's a little grandiose. Actually, that's a lot grandiose. CS people build things to other people's requirements. Even if you're an entrepreneur, odds are you're building Facebook or Zynga to satisfy the passing whims of, more often than not, women.

More fundamentally, there's no such thing as an overarching design for the world. You can't point to anyone and say the world came out the way they planned or intended it in any significant way. The only thing CS people can do is invent things. And inventing things never really reshapes society in a way the inventors can even predict, let alone effectively plan for. Frankly, at the end of the line there's usually someone who wants to make money from it, so as long as women have the power to spend money, some CS guys somewhere will be bending over backwards to invent something those women might want.


I'm concerned that men are underrepresented in nursing. It's a fairly remunerative career that I'm sure many men would enjoy if there were less societal baggage.


I hope you're just being snarky, or else you're missing the point entirely. The acknowledgement of "well its also hard for men in x" does not dismiss the fact that historically discriminated groups also deserve support.


The question is one of motive. If a person saying "we need to make things easy for women who want to do STEM jobs because of an imbalance in the numbers of men and women in these roles" but doesn't agree this is true for things like childcare or nursing then there is a question to answer as to why they don't think the imbalance is important in the later case.

It's not being snarky it's questioning whether the parent is interested in equality of opportunity or discrimination in favour of women. That's an important question in my view.


>"If a person saying "we need to make things easy for women who want to do STEM jobs because of an imbalance in the numbers of men and women in these roles" but doesn't agree this is true for things like childcare or nursing then there is a question to answer as to why they don't think the imbalance is important in the later case."

You're dancing dangerously close to a straw man argument here. Nobody has taken a position either way on childcare or nursing.

>"It's not being snarky it's questioning whether the parent is interested in equality of opportunity or discrimination in favour of women. That's an important question in my view."

It's an important question in everyone's view. My point is that it's rarely a valid point that $A should not be addressed because $B is also a problem; especially when $B is a rhetorical fringe case.

When I get in these discussions, invariably someone tries to boil it down to the following false dichotomy: Helping/encouraging/assisting $GROUP_A is discriminating/violating/hurting $GROUP_B. This is never necessarily the case.


I'm not being snarky, and I don't think this is about discrimination at all. It's about our culture directing people away from the jobs that best suit them. It's a problem that should be fixed for everyone.


>It's about our culture directing people away from the jobs that best suit them.

I'm confused with what you mean by this.

>It's a problem that should be fixed for everyone.

So because it's not being fixed for someone, it shouldn't be fixed for anyone?


Physicians Assistants are very similar and get more males than nursing professions.


What would be interesting is a follow-up 15 years later. Would be really cool if she turned out to be a programming monster.


Why would a 14 year old be taught C++ and low level networking? Familiarizing them with a high level scripting language (like python say) will not do? Will you teach surgery to a 14 year old? Will you teach them to design and construct a building?


> Why would a 14 year old be taught C++ and low level networking?

There is an entry age for learning C++? Tell me more about it.

/s

> Will you teach surgery to a 14 year old?

Apparently high school biology followed by 5 years of undergrad followed by 2 years of grad is the same as learning C++.

Now don't go on a tangent about how CS schools need math foundation and are 4 years and you need grad school for deeper understanding. CS education isn't under contention - C++ is. C++ doesn't need a big foundation. An average 14 year old will pick up C++ just fine.


Don't underestimate children, or girls.

I know sub-14 year olds who are fluent in C and a couple flavors of assembly language.


And I know tons of them that cannot even pin point their country on the maps. What's with using outliers as examples?


The point is that these are not outliers in aptitude. They're outliers in opportunities offered.

Underestimating kids is a huge societal failure. We do it a lot. It offends me.

I'm not sure you read the article, or noticed the comment I was replying to.

Why would anyone not offer a class in hard stuff to 14 year olds?? 14 is not some tender sensitive age where kids need coddling.


>The point is that these are not outliers in aptitude. They're outliers in opportunities offered.

Kids that can program in "several assembly languages" (your words) are just outliers in "opportunities offered"?

Even in college, heck, even in CS majors, there are kids that "get it" and kids that do not. So, no kids that are programming geniuses at 10 are not just outliers in opportunities.

Besides, the kids that could not pinpoint their country on the map were ALSO taught Geography. They weren't lacking in "opportunities", they lacked in skills, attention, etc.

>Why would anyone not offer a class in hard stuff to 14 year olds?? 14 is not some tender sensitive age where kids need coddling.

And why would that hard stuff be C++? It's not like it's something good to teach even for adults...


I started learning C++ during my freshman year of High School, that was at about 14. I don't really consider myself an outlier... Hell, I was a pretty typical B+ student from grade school, straight through to my bachelor degree.

C++ was hard, but I had already fallen in love with the magic of making the computer do things with some VB. As a result, I was motivated enough to fight my way through a C++ book.

Kids need a special blend of internal motivation, external motivation, love, and support. Given those things, I promise you that kids will surprise you. Every. Single. Time.

I've met some 14 year olds at http://www.studentrnd.com that code circles around most college graduates. It's not because these kids are intellectual outliers. It's because they have a place to gather with other smart kids and challenge each other to build something just a little bigger and just a little better.

We need to start expecting more from kids and providing them the opportunities to prove that they are deserving of those expectations.


>I started learning C++ during my freshman year of High School, that was at about 14. I don't really consider myself an outlier...

Well, divide the number of the kids that did the same thing with the kids of the same age that did not do the same thing.

The numerous zeroes after the decimal point will show that you were indeed an outlier.


In my class of 200, there were two classes of 15 or so students who took that programming course. My school was an outlier, not me. Kids can do great things if you provide them with the opportunities.


I think C and low level networking are great things for beginners to learn. I started learning C at age 9 and networking around age 12. C is great because it teaches a ton about how computers actually work, and practically forces you to learn CS concepts, without having to go as far as program counters, etc. in assembly. Low level networking is great because it teaches how properly architected systems are built in layers that each serve a particular purpose. It also helps tremendously when building systems later on in your career. You have no idea how many "programmers" I have interviewed that can't even write a bubble sort because all they learned was Array.sort(). Starting with C fixes this problem, and sets the stage for proper learning (and appreciation) of high level languages. The other thing that I would really focus on at a young age is troubleshooting. It teaches you how to think in a way that not many other things can.


C++ was taught in my high school. A good teacher can make C++ learnable. You just focus on using a sane subset of the language and it can make sense to beginners.

Also going from C++ to Java is a lot easier (and others I'd imagine too) because C++ forces you to master pointers. And of course, Java is filled with pointers but the syntax hides it.


It was 1997. I was 6 at the time so I don't know, but probably python/etc. were less known at the time or deploying them was harder than C++ on Windows.


Why shouldn't they learn C++ and low-level networking?


a 5 year old may be taught neurosurgery - the point is what is the point?


Programmers ought to have a lot less hubris about their subject. The difference in difficulty between imperative languages is not as large as you think - and changes depending on the problem domain.

Networking enables the Internet in much the same way the internal combustion engine enabled modern transportation. Yet apparently only one of these topics is considered reasonable for a 14-year-old to study?

I find it baffling.


Whether two technologies have analogous roles in two essentially unrelated systems has nothing to do with their teachability to 14 year olds. Some things are just harder. Though in this instance, they could both be taught to talented kids well below 14.


Because it is not as useful as other languages?


> Because it is not as useful as other languages?

C++ doesn't have web frameworks, and is big and complicated. If you aren't doing web projects, you can safely stick with a subset(with guidance of course). You mention is not being useful - what is that Python can do that C++ can't? C++ is going to be a bit more verbose, yes, but verbosity is not the only variable. Also, use stl(and/or boost) and your code won't be that verbose. This isn't that bad.

    #include <set>
    #include <string>
    #include <iostream>

    int main(int argc, char **argv)
    {       
            // Declare and Initialize some variables
            std::string word;
            std::set<std::string> wordcount;
            // Read words and insert in rb-tree
            while (std::cin >> word) wordcount.insert(word);
            // Print the result
            std::cout << "Words: " << wordcount.size() << std::endl;
            return 0;
    }


It is verbose compared to python, which would do this in about 3 lines. It's also not that great an example because it begs the question why one moment a set of strings ('words' as variable name feels weird to me because I think in c of word boundaries, but whatever) is set<string> (please use 'namespace std') and next moment its char argv. These are obviously simple things to anyone with c++ knowledge, but teaching this to someone is just likely to put them off. There's no reason to use c/c++ today unless you're coding drivers or very performance critical things.

A set isn't necessarily implemented using a red-black tree, most likely its a binary tree of some kind, but why would anyone put that in a comment. It's a set, which just means there's only copy of any repeated 'words'.

I think the reason why c++ doesn't make a good language to teach youngsters is because stl is still a beast of a template library, still spits out garbage error messages and is painful to work with even by the most experienced of developers (25+ c/c++ here)

On the other hand, collections and data structures in python are simple, efficiently implemented and extremely succinct, if the value of a dictionary element contains 2 or 3 elements, or is another dictionary, or a map etc it's simple to do this in python, where as in stl pair<int, int> is great until you need three of them, then its auto_ptr or whatever and it starts to get unwieldy and the poor student trying to focus on the algorithm is now bogged down in the with the inelegance of a low level language.

Don't get me wrong, I love c and c++, but i'd rather teach some python or ruby because they can get stuff done and working and not struggle with tedious syntax.

len(set(sys.stdin.read().split(' ')))

C++ does have web frameworks too! Witty (wt)


> It is verbose compared to python, which would do this in about 3 lines.

That can be done as a perl one liner. The C++ program is pretty reasonable as in it matches to the algorithm.

1. Read words.

2. Add words to a set. Set only has unique elements.

3. Print set size which will give you the number of unique words.

> It's also not that great an example because it begs the question why one moment a set of strings ('words' as variable name feels weird to me because I think in c of word boundaries, but whatever) is set<string> (please use 'namespace std') and next moment its char argv.

Questions are good. Questions aid understanding. You are overestimating C++'s complexity and underestimating a 14 year old's abilities.

> There's no reason to use c/c++ today unless you're coding drivers or very performance critical things.

Personally, I think all programmers should have a working knowledge of C or C++. C is the best simulation of the machine. Assembly is closer, but writing assembly is a pain.

> A set isn't necessarily implemented using a red-black tree, most likely its a binary tree of some kind, but why would anyone put that in a comment.

Copied code from the web. Wasn't paying attention. That comment shouldn't be there. A set should be viewed as an ADT and the implementation shouldn't matter.

> I think the reason why c++ doesn't make a good language to teach youngsters is because stl is still a beast of a template library, still spits out garbage error messages and is painful to work with even by the most experienced of developers (25+ c/c++ here)

STL is a beast, yes, but you don't have to know the whole of it. Regarding error messages, I find clang's error messages better.

> Don't get me wrong, I love c and c++, but i'd rather teach some python or ruby because they can get stuff done and working and not struggle with tedious syntax.

I would teach Python as well. I was taking exception to the knee jerk reaction to C++.


I meant "not as useful" as "not as efficient". Of course you could do everything you could do in Python (or whatever) in C++, since Python is basically a subset of C++ (I assume Python is written in C/C++).

It just seems weird to make beginners start with a complicated tool when there are easier tools that can get the same results.


Useful in what sense? Are you _using_ an operating system? What language was that written in? So how useful is it?

NB: I'm taking your comments to apply equally to C as C++, given the prevalence of C in operating systems. If you really would not have said the same thing about C, I retract my comments.


If as a 14 year old your plan is to write an operating system, learning C might make some sense. It just seems like a very unlikely scenario to me.

Also I think a lot of tools for example in Linux are written in other languages.

Most likely scenario for using C as a 14 year old might be doing electronics projects, but I think Arduino is most commonly programmed in Java.


Arduino is C/C++. It's mostly a C++ abstraction built on top of the avr-libc library. The Arduino IDE is written in Java though.


I think you can program the Arduino in C/C++ (like every other Microcontroller), but I was under the impression that it actually has a Java Runtime and the usual way is to code Arduino programs in Java.


The Arduino is based around Atmel's 8 bit AVR architecture which really doesn't have what it takes to run a JVM. The ATmega328P which the Arduino Uno board uses has 32KB of code space and 2KB of SRAM which isn't really enough for something like Java. The normal way Arduino projects are built is by defining a "setup" function and a "loop" function which, when compiled, are actually just called by a hidden C++ file with a main function that essentially does this:

    int main(void) {
        setup();
        for (;;)
            loop();
    }
The actual file does a bit more and can be found in their git repository here: https://github.com/arduino/Arduino/blob/master/hardware/ardu...


Tell me that. C++ is a widely used industrial language.


You're over-estimating the difficulty. I just did a networking project in C, and the APIs are quite straightforward and well-documented.


I learned C and C++ when I was 11, having only done BASIC before that. Why hold 14 year-olds back if they're capable of doing it?


And why not?


I'm going to save this and show it to my daughter (2 1/2 now) when the time is right.


this reminds me of stephen wolfram's talk at TED recently http://www.youtube.com/watch?v=60OVlfAUPJg




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: