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

These aren't excuses, but observations.

I've taught in classes of 12 and of 32, the differences in students' behavior, and in reaction my own was huge.

Similarly, I've taught classes where students just came back from an hour of PA and classes that were the second class of the day. The former group of students had always trouble concentrating and focusing, whereas the other group would sometimes have trouble getting up to steam in many activities.

Similarly, I've taught classes that were obligatory for students and classes that were electives. Again, the differences in students' behavior was quite pronounced.

Given constraints and practicalities of our educational system, it is difficult to offer each student the best courses, activities, support, etc. they each individually need. Instead, you often end up compromising. Which isn't great. Particularly for students performing above or below average compared to their peers.

Anyway, just a frustrated ex-teacher here. Thanks for listening.


I wrote a short chapter about the path from ALGOL 60 to ALGOL 68: https://heerdebeer.org/ALGOL/succession.html. Wirths role in the division in working group working on the successor of ALGOL 60 is striking. Actually, the whole history of ALGOL is interesting to get into. If you like history, I recommend browsing the Algol Bulletin from start to finish (http://archive.computerhistory.org/resources/text/algol/algo...).


That is a good summary, but nevertheless I believe that you have not described with enough details the proposals of McCarthy and Hoare, which have been the most important innovations included in the discussions about the future of Algol and which had a great influence on the evolution of many programming languages.

In the proposal of John McCarthy from December 1964, "Definition of new data types in ALGOL x", besides the overloaded operators mentioned by you, an even more important proposed feature were the "union" types, as a better language feature than the Fortran EQUIVALENCE.

Algol 68 has incorporated union types and overloaded operators in a form close to McCarthy's proposal, but C, even if it has taken the keyword "union" from Algol 68, unfortunately it has used it only with a meaning similar to Fortran's EQUIVALENCE.

In C. A. R. Hoare's proposal from November 1965, "Record Handling" a large number of new programming language features have been proposed, besides "records" and "record classes".

Both "record" and "class" are COBOL 60 keywords. COBOL 60 used "record" for what later PL/I will call "structure", a term inherited by C, and it used "class" for what ALGOL 60 called "type". SIMULA 67 has taken "records" and "record classes" from Hoare, but it has abbreviated "record class" to "class", a term inherited then from SIMULA 67 by all OOP languages.

Hoare's proposal also included "Declared Reference Variables" which PL/I has taken from Hoare and it has renamed them to "pointers", which is the term inherited from PL/I by most later languages.

Other new features in that proposal: "new" and "destroy" procedures for dynamically allocated records, a special reference value "null", i.e. the null pointer, what are now named constructors, for initializing the records, and "Finite Set Declarations" i.e. what are now called enumerations.


It starts with the name "human resources". All HR departments I worked with treated employees as resources rather than humans. Bureaucracy all the way, with a thin veneer of human connection that'd be gone the time you walked out of HR's offices.


Same, the very term "human resources" feels dehumanizing.


In my experience teaching introductory programming with Java, the problem is very real. For beginning programmers, making sense of the first Java program(s) results too often in misunderstanding of all sorts of concepts.

Of course, you can tell students to ignore most of the code until later in the course when they'll learn all about it, but that doesn't work. They'll make sense of the code within their limited understanding of programming and frames of reference. They'll build local theories of how and why these programming elements, like "static", "class", "main", "String[]" etc. fit together, how they relate to error messages they get when their programs don't compile or don't work.

Then, when they do reach the place in the course when they're to learn all about these concepts, they have to reconcile their own local theories with the material at hand to create a more thorough and evolved understanding of the concept. That's often not an easy process. In many introductory programming courses, there's not much time for reflection. As a result, their evolving understanding is likely closer to their initial understanding instead of the ones we aim at as teachers.

What's not helping here is that as experienced programmers who have developed a deep understanding of these concepts to understand novice's point-of-view and their struggles with the material.

Learning and teaching is hard!


Thanks for explaining the problem. Do you think the proposed changes will help significantly and will be worth the trouble?


Yes! The easier it is to get started with a language, the easier it is to learn and teach. Rather than focusing on (fighting) tools, you can focus on developing understanding of the core concepts of (Java) programming with a suitable learning trajectory. That's huge. And a boon to keep a language and community relevant. Once schools and teachers move on to other languages for teaching, you have to fight to win programmers over to use your language.

As for the added complexity to the compile or run-time system, that seems mostly an issue for language implementers, not users. It certainly won't be an issue for beginning programmers, so for them and their teachers, there's no tradeoff to pay for.


Thanks for raising this issue. What you describe as "local theories" (I'd say "mental model" but I think we're talking about the same thing) is quite important. We expect beginners to come up with erroneous models as they're exposed to stuff; revising and even discarding such models is intrinsic to learning. One of the benefits of this JEP is to minimize the opportunities for beginners to create erroneous mental models.


I agree. And having to re-evaluate and improve your own mental models or local theories is part of learning anyway. That's not going away with these changes. But I think with these changes, the mental models will be easier to understand for teachers and closer to the model we aim for as teachers. As a result, it should be easier to nudge students into reforming their understanding towards the models we aim for. In particular, we can make easier programming examples because we can strip simple programs of a lot of more advanced boilerplate and syntax.


Worse, if stapling at the reception now takes significant more time than stapling before, that's costly too. Particularly when the stapler is in use when you need it, or someone borrowed it and now no-one can find it. Before you know it, you've wasted an hour stapling a stack of forms or so.

As an aside, the organization I worked at before had two to four secretaries per floor. Before the pandemic, most were in their offices when you needed anything practical, like staples, batteries, etc. After the pandemic, most of them work from home most days of the week. That's great for them, but I've had days that I had to go through the whole building to get this or that.

These small informal conveniences and ways-of-working aren't on the organization's radar, and when they're gone, it takes some doing to get them organized again. Until then, and until everyone in the organization knows about the new ways of working, this can be quite frustrating and inefficient.


True, but among the organizations that have work and money you can do to get the money, some seem to have aims or products or work in domains that align better with your views on the world than other organizations. In the context of job-getting, money as an extrinsic motivator is a given. Parts of a candidate's motivation that are more towards intrinsic might be relevant.


Maybe with the population of this site this is more true than the most, but I'd still consider it a minority, even here.

I doubt many plumbers cite a love of modern world development, when they get hired for fixing toilets, or that people assembling washing machines have a passion for clean clothes for other people... or even people working for google don't really have that much passion for collecting other peoples personal data and exploiting it to show ads.


No, but they might like the sort of projects the organization does with respect to complexity, or that they mostly serve governmental buildings, or that they work in the community they're part of, etc. In the end, you have to make a choice between organizations to work for, and usually they all pay more or less the same. So, what's then the deciding factor?

By the way, this definitely doesn't mean to glorify an organization and what they're doing. Far from it. They're just in it for continued existence and making some money, I suppose. But it is nice if an organization has some social utility, as compared to, say, sell advertisements for crap no-one needs. And I think, if that's important to you, you can refer to that when you're applying for a job.

Of course, if you're working in a field where there's much more candidates than jobs, this is pretty meaningless because you have to take whatever comes your way.


indeed this.

there is a difference between the choice of profession and the choice of company after learning the profession.

above we were discussion which tech company to work for, because most of us here are in tech. but tech companies have a wide variety of business goals and practices.

plumbers not so much. they do plumbing. they all have the same business goal, the differences are where they operate and how nice the coworkers are and the work conditions and pay.

for a tech company it makes sense to ask, do i like their product, independent of the job i'll be doing there. for a plumber not really.


Yeah, and all of those have a .org on their domain.

I saw a recent interview with the director of the world food bank. So jealous.


I wonder, wouldn't it be better to focus on fine motor skills in (primary) education rather than penmanship? I mean, penmanship is becoming an anachronistic skill, and children see that too. I'd rather focus on fine motor skills with fine arts, calligraphy, practical tool use, and the like. That seems more fun and useful than penmanship.


I have kids so I've seen them develop their fine motor skills over time.

You're right: there are many ways to achieve it. Some that you mentioned are already used in schools. For example, one thing they focus on it holding a crayon the right way (e.g. not in a fist). Playing with building blocks, dressing up dolls or setting scenes with small toy figurines. This is also why young kids bring home so many arts and crafts as they learn to use scissors (tool use), apply glue with precision, and manipulate small objects.

Penmenship is perhaps easier to administer en mass and easier to grade objectively rather than tool use though.

I do think that there's room for change in the curriculum, but not all solutions are practical and cheap. For example, why not 3D pens? It is easy to objectively grade the result. But it's not practical and difficult to deploy compared to pen and paper which are cheaply available, easy to distribute, have low risk of injury, and equitable.


Yes. Before the computer, it wasn't uncommon to write by hand and have dedicated typists type your work. Or have a secretary, assistant, or significant other do it for you. At first sight, there's no reason why this had to change with the introduction of the personal computer. But it did. Why?

I assume the answer is more complicated than just pointing to a technological advancement. As usual, social-cultural issues will have been at play as well.


When I was young, and I had to write with a fountain pen, to write meant to situate yourself to write. A clean desk, sit at it well, have some blotting paper, and make sure the pen is clean. Think about what you're going to write, and once I was prepared, take a sheet of fresh paper and start writing.

Nowadays, when I write by hand, it is always in haste, standing awkwardly in front of some flat surface, and using a scrap of paper and a partial dried-out pen I got for free a decade or more ago. No wonder my writing has gotten worse! And it wasn't good to begin with.

Now that I'm thinking about it, I've not kept the preparatory aspects of good writing from the past when I am "writing" on my computer. The keyboard is always there, a fresh "sheet of paper" always at hand, and it is so easy to edit and change my writing afterward, that I don't care much about thinking before writing.


Sorry, did you mean fountain or dip pen?


It's worth noting that if you go fifty years back or so, fountain pens and dip pens were a lot more similar to each other than they are today. Both typically had flexible nibs and the real difference between them was just whether the ink automatically flowed from a reservoir inside the pen or was manually collected from an inkwell once in a while.

(okay, yes, also the inks themselves were completely different, with fountain pens having to use dyed water solutions to avoid clogging the pen, whereas dip pen inks actually have solid particles of pigment held in suspension in their ink, giving bolder colors and darker blacks when dry on the page; if you put a dip pen's ink in a fountain pen it would very quickly clog up with those pigment particles. And back in the day, it would probably eat right through the latex bladders the ink was stored in)

The fountain pens you get today are very different from the ones back then; they have stiff nibs which can survive the sorts of pressures that ballpoint users are used to inflicting on their pens, and they're equipped with quick-drying ink. They're pretty much indestructable under normal usage. But back in the day a fountain pen required a very light touch and some patience (or blotting paper) to ensure the writing didn't smudge and that you didn't damage the nib.

(there's been a mild resurgence in the popularity of flex nibs in fountain pens over the past few years. I haven't seen any which have anything like the flexibility you see in real vintage pens, but it's a lot more than we've seen in fifty years and it's nice to see them making a modest return!)


Cool, I didn't know you needed all this "paraphernalia" back then.

Now I want a vintage fountain pen


Fountain. Although, I've used the dip pen too and that was even more of an hassle to use cleanly as a child.


I like my NovaCustom I got at the end of last year, but I'm not sure how it compares to the ThinkPads.


Thank you, I wasn't aware of them. IIUC the laptops are made by Clevo? It looks like a very interesting option, I'll check them out.


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

Search: