TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Modern computing: A short history and a shorter rant

43 pointsby dpkendalover 11 years ago

16 comments

billyjobobover 11 years ago
<i>Programming is easy, after all: all you need to understand is conditions and repetition.</i><p>If you believe that you have never tried to teach a class of non-programmers.<p><i>Instead, programming keeps getting harder on new computers all the time, especially ones made by Apple</i><p>Apple have made a lot of efforts to bring programming to the common user: Hypercard, Applescript, Automator. They are abandoned because no-one was interested in using them.
评论 #6781066 未加载
评论 #6780674 未加载
评论 #6780797 未加载
评论 #6781811 未加载
alanctgardner2over 11 years ago
People seem to think the difficulty in coding is the mechanical act of writing code. &quot;If only you could draw code!&quot;, they cry, linking together a series of blocks to represent program flow. The thing is, even if you make a language where it&#x27;s impossible to fail (every program does something, it&#x27;s visually intuitive when a program isn&#x27;t valid), it still doesn&#x27;t necessarily do <i>the right thing</i>.<p>The difficulty in programming isn&#x27;t the mechanical act of writing code; we have copy-paste for that. The problem is having a mental model of the program execution, and mapping it to the real-world problem. This is the difference between good and bad programmers, and it applies to the population at large.<p>Case in point: I&#x27;m working with some soon-to-be grads from a CS program. In Java, one of them instantiated a class, and set an attribute of that instance. Elsewhere they instantiated a new instance, and tried to read the value back. And they couldn&#x27;t understand why the value wasn&#x27;t set, Portal-style, in their new instance. This guy, who has been in school for 4 years for CS, also couldn&#x27;t figure out why it made sense to make specific shapes (circle, square, triangle) children of an abstract Shape class. He could, very easily, add a Search bar to an Android app because he had seen a tutorial on how to do it - but making the bar do anything was a tremendous feat, because it wasn&#x27;t just the mechanical repetition of some pattern.<p>Even with experienced (&gt;5 years) programmers, I&#x27;ve seen some really terrible debugging where it was clear the person didn&#x27;t have a mental model of the code. They never really got any benefit from GDB, because when they looked at the internal state of the program they just shrugged and said &quot;Yeah, looks right&quot;. And they owned the codebase. This was their code, and they couldn&#x27;t reason about it.<p>After all that ranting, my point is: you can make it easier to write <i>some</i> program, but you can&#x27;t make it (appreciably) easier to write the program that you need.
评论 #6781868 未加载
评论 #6782954 未加载
评论 #6782084 未加载
评论 #6783175 未加载
scott_sover 11 years ago
I find it strange that some people see computers-as-appliances as an existential threat. (I&#x27;m thinking of things like tablets, smart phones and consoles.) Yes, it is difficult to tinker with the insides of such things. But we gain stability and ease of use. Such devices do not magically make other kinds of computers cease to exist.<p>Computers that can be tinkered with still do exist, and it has never been easier to use them to program. Microsoft and Apple both provide free access to rich development environments. And it&#x27;s easy to install many other kinds of programming environments onto such machines.<p>In fact, the combination of a web browser and JavaScript is perhaps the most ubiquitous programming environment, ever. And it is available on damned near everything.
评论 #6782841 未加载
discreditableover 11 years ago
It&#x27;s not that programming is extremely difficult, it&#x27;s that many people are barely functional on a computer to begin with.
qzncover 11 years ago
I am torn on this. On the one hand, programming is empowering, so everybody should learn some programming in school. On the other hand, a powerful tool is also dangerous. Look at the financial sector using complex Excel sheets nobody understands anymore. As the world gets more and more dependent on software, we need more professionalism in software engineering.
评论 #6781098 未加载
drcubeover 11 years ago
I dislike the distinction between <i>using</i> a computer and <i>programming</i> one. Both are just ways to tell a machine what to do. He tells his computer what to do using C, she tells her computer what to do using bash, and they tell their computer what to do using Word and Firefox. Certainly C, bash, Word and Firefox are all programs. So is an assembler and linker.<p>I don&#x27;t know if we should treat all applications like domain specific languages, or if we should just hide complexity until needed, then provide a way for more advanced users to access lower abstraction layers, or what. Either way, I don&#x27;t think this fairly strict but artificial distinction between using and programming is helpful or beneficial.
CmonDevover 11 years ago
Programming is as easy as painting: either your brain is wired correctly or you work hard to re-wire it.
ChuckMcMover 11 years ago
It is all about markets, there is a huge market for selling an appliance which has &#x27;Apps&#x27; which can entertain you, inform you, and help you remember stuff, there is a much much smaller market for selling a device you can program to do interesting things.<p>Most (and by that imprecise measure I mean &gt; 50% but less than 75%) of the people who own an Apple &quot;computer&quot; have no interest in programming anything. Nearly all iPad owners are not interested in writing iOS programs, and easily 99% of iPhone owners could care less about writing code for them.<p>That&#x27;s ok, but it means there continues to be opportunities to sell programmer&#x27;s cool gear. The down side is that programmers can&#x27;t always leverage the benefits on price that mass production brings for their tools.
nsxwolfover 11 years ago
To what end? Should people be writing their own email clients?<p>I don&#x27;t know many people who would modify or extend the software they use, even if it were really &quot;easy&quot; to do so. Also, I doubt such tasks could ever really be &quot;easy&quot;, even if the arcane syntax of a C style language were not an obstacle.<p>I&#x27;m not seeing the problem. Regular people were forced to use DOS and Windows machines in the early days, and they struggled with their complexity. Now we have a class of computers that regular people and technical people alike enjoy using. That&#x27;s not a win?
评论 #6786014 未加载
评论 #6782517 未加载
protomythover 11 years ago
Taking Apple to task is pretty sad give OS X programming is basically NeXT&#x27;s environment which was advertised as one of the easiest computers to program (see their Sun vs NeXT videos). Not to mention HyperCard which hit a nerve with a lot of people.<p>If you want an actual example of WTF programming, do something you did in the 90&#x27;s in Visual Basic on the web. The amount of infrastructure and types of things you need to know how to program is daunting. It is still easier to program an app on NeXTSTEP at the time of the webs creation than on the web today.
tallesover 11 years ago
This is an eternal discussion between ease of use VS flexibility.<p>I think we have room for all of it. Oversimplifying things, as an example, I love how Linux is extremely flexible, Mac extremely easy and Windows... well, let&#x27;s say it&#x27;s in the middle.<p>I believe sometimes someone got it &#x27;more right&#x27; than others achieving a right on the spot balance. But that doesn&#x27;t invalidate the other approaches.<p>You got to dance accordingly to the music.
thyrsusover 11 years ago
I&#x27;d appreciate some examples of tools that make programming &quot;easy&quot;. Easier than assembler? OK, check. Easy in general? I want that.
评论 #6781058 未加载
评论 #6781999 未加载
jereover 11 years ago
&gt;They could make computers do everything for them... helping them select the best photo to show to potential dates.<p>Hmm. What are those tweets about anyway:<p>&gt;Considering writing some software to use MTurk to rank my self-portraits.<p>It&#x27;s kind of funny that out of two examples given to demonstrate the utility of programming a computer, one is actually just asking people for their opinion.
zwiebackover 11 years ago
Horses for courses - I&#x27;ve been programming since the pre-GUI era and much as I love modern IDEs and advanced interfaces I still find text entry of traditional programming language code via keyboard incredibly expressive for many things.
aestraover 11 years ago
Programming is easy to the programmers.<p>Art is easy to the artist.<p>Writing is easy to the writer.<p>Music is easy to the musician.
评论 #6780747 未加载
dsegoover 11 years ago
Oh my, if only apple wasn&#x27;t around, folks would spend their days happily typing code in vim or emacs.
评论 #6782863 未加载
评论 #6782686 未加载