Whenever you wanted to know syntax of some command, you print this command, press ctrl-f1 and is presented with docs, complete with a working example. It was insanely great. Remember, stack overflow didn't exist then.
Whenever you wanted to know syntax of some command, you print this command, press ctrl-f1 and is presented with docs, complete with a working example. It was insanely great. Remember, stack overflow didn't exist then.
Infinite loop: see Loop, infinite.
Loop, infinite: see Infinite loop.
albeit there's still zcat
Correction: Rust's help and documentation is HTML-based, and getting a local, automatically updated copy is trivial.
> even "local" docs launch in a web browser
Uh, so what? Can you name a better format for programming language documentation that's also ubiquitously supported?
Info format. It's supported by Emacs, and Emacs is the most ubiquitous of IDE's.
Sorry, have you been in a coma for 30 years?
I said "ubiquitously supported". There are several orders of magnitude difference between info format support and HTML support.
> Emacs is the most ubiquitous of IDE's
That's laughably wrong.
Maybe you mean Rust's documentation is rendered to HTML. In which case, sure, but so what? Good docs can be rendered to non-HTML formats too, typically for IDEs to display quickly without needing to load a full browser.
It's one of the features I miss most as I code Rust, and the lack is very detrimental to the coding experience, as pulling up a browser is a massive context switch.
"Never trust a compiler that doesn't fit on a single floppy"
I'm coining that second expression right here on Hacker News, today, 1/22/2020!
I'm fairly certain no one has said it prior...
But if they have, then my humble apologies, and in such case I'm un-coining it... <g>
In a time before the internet, it used to be that books, and occasionally magazines, were the initial entry points to understanding software, hardware and electronics. Then the BBS came along, these secret islands of knowledge and trade.
I learned Pascal and assembly on Turbo Pascal with trial-and-error and lots of context-sensitive help. These days, development is mostly fragmented and half-working. Progress is neither linear, increasing nor assured, and much is lost, reinvented not necessarily as well and lost again.
Also, eventually coding will decline or bifurcate more because general AI will allow non-programmers to ask a machine to do Star Trek-like self-programming. Essentially all office jobs are vulnerable to elimination as mechanical machine operators.
StackOverflow has many great explanations, which are no different than reading a chapter in a book (it's just a book that is extremely relevant to you problem).
The problem is that lazy people demand code dumps, and lazy people provide code dumps instead of explanations. This then becomes a feedback loop as people get used to this degree of laziness.
This is especially rampant for Web topics, and to some extend also a counter-argument to the Borland help pages with examples: When presented with a fully written solution, people will blindly copy it and only do the minimum amount of work to make it run.
Perfectionism is not required, and can get in the way of professionalism. This is about a minimum amount of responsibility.
(Learning is different though.)
We aren’t nearly as close as you suggest do the level of code generation that would replace the bottom quarter of the labor pool even, but if that day ever comes I believe it will be really profitable for the top 20-30%.
> Progress is neither linear, increasing nor assured, and much is lost, reinvented not necessarily as well and lost again.
The big difference is that we are now networked. The target MSDOS environment was not a moving target and had no security considerations. The world is very different now; we do so much programming in the browser because it's the one single cross-platform zero-friction environment we have. But those reasons also make it a battleground between platform monopolists.
There is also so much more software. Part of the problem that Stackoverflow solves is dealing with this. You can't be an expert on everything, there isn't enough time and it moves too fast. So you need a quick solution to incidental problems so you can get back to the "core" problem.
(credentials: the code I wrote at age sixteen for doing 3D rendering https://github.com/pjc50/ancient-3d-for-turboc )
Affordable C compilers (for a teenager at least) were not really a thing at the time (IIRC, even the DOS stuff, if you owned such a machine which I did not, still cost a couple hundred dollars around 1989-90-ish). I didn't manage to get a C compiler until the mid-90s when I picked up a copy of Turbo C for DOS, but I still think I paid $100 for the privilege.
> zero-friction environment
Giggle.
That leaves more time for the interesting problems. I think that makes programmers generally smarter than before. They start from a higher base and can climb more quickly.
Also, you’re overestimating the potential trajectory of current approaches to AI.
Maybe I'm just old, but I'm probably going to retire, and AI is not going to replace any programmers.
From what I see, the quality of the software in Corporate America reassures me that programmers will have jobs for many decades to come.
'Eventually' is likely to be a very, very long time. I doubt we'll have self-programming systems like that even in my children's lifetime. It will likely take AGI to do it. There's the classic tale of programmers back in the 90s quiting their jobs because they thought Visual Basic would let non-technical bureaucrats write their own software, so there would be no need for specialist software engineers anymore.
One of the world's top self driving car engineers reckons we might never get Level 5.
I'm not an AI denier. Eventually we will get AGI, I think it's inevitable. It's just that the time horizon is so far off it's not really worth worrying about. We don't even have a clue how to go about designing it's general operational parameters or architecture yet.
I have some minor-level experience with self-driving car software, algorithms, etc. The majority of this is from various MOOCs I have participated in over the years, as well as research papers, books, and other things I have read and consumed. In short, I am not an expert, but I am not unfamiliar with the technology, either.
I personally think we'll never see actual widespread usage of self-driving vehicles outside of a very few narrow and carefully controlled (and regulated) cases. At least, I suspect, within my lifetime (which honestly, I'll be lucky for another 30 years or so).
My reasoning is that people will only trust perfection when it comes to riding in a self-driving vehicle. They will only be willing to use one if they can be assured that it will Never Crash, or be crashed into. They have no problem driving a car themselves, or being surrounded by other people driving cars. They have no problem with those crashing and even killing people - maybe even themselves (though they tell themselves fairy tales of it-will-never-happen-to-me to soothe over the reality). But introduce a machine into the equation...
...and that machine has to be Perfect. It cannot make any mistakes. It must avoid issues and be Safe 100% of the time, no exceptions.
In other words, people want the impossible from a machine, but will give utmost allowances to themselves and others as "humans".
I think a lot of this has to do with assignment of blame. When they crash or are crashed into - there is someone to assign blame to; themselves, the other driver, etc. Someone they can yell at, figuratively or literally.
A self-driving car? No one to yell at. No one to assign blame. Nothing that will feel bad for its error or failure to avoid something.
People can't handle that. They don't want a self-driving vehicle that has a safety factor of say, "seven 9s" - it has to be 100% safe or nothing. Because even if it makes a mistake only once out of a million miles of driving, that is still not safe enough. They want the unobtainable - a perfect machine, a machine that will never fail. Nothing like that can or will ever exist (basic laws of thermodynamics prevent it, for one thing).
Even though they themselves, or even the most professional of professional drivers - can't even come close to approaching this level. It both madness, and understandable at the same time.
From what I've seen I think your model of human behavior is flawed. Aircraft have been mostly fly-by-wire for decades and software flaws have led to some crashes (most recently those of the 737 Max), but that hasn't stopped people from flying in planes.
People have already been killed by self-driving cars, but that hasn't stopped the testing programs. Tesla automation (though far from full self-driving) has led to a number of fatal accidents yet people still buy Tesla's and I haven't heard of any public outcry to ban them from the roads.
I too am skeptical that we'll be seeing full self-driving cars anytime soon, but not for the reason you give.
I think the real issue is that AI-like technology has a 90-10 problem. It's relatively easy to get to 90% of human level performance but that last 10% is much much harder - unpredictably harder. Unfortunately self-driving cars are an area where 90% isn't good enough, even 99% isn't good enough. You probably need to get to something like 5 or 6 9's to be acceptable for broad general use and no AI-like technology has yet gotten anywhere close to that.
EDIT: I didn't mean to imply that the 737 Max is fly-by-wire, but the MCAS system that caused the crashes is a comparable technology.
> coding will decline or bifurcate more because general AI will allow non-programmers to ask a machine
I was expecting this development with the rise of React since at least the visualization part has become completely declarative. It's no rocket science to automatically transform that, in fact being an XML dialect there are a lot of tools available for this. But still, even in 2020 people still make money with writing HTML/CSS either plain or within a CMS.
In fact even a reverse development happened in some regard. In the 90s it was quite common for people to write CRUD apps running in Access, FoxPro etc. These tools - like Delphi which might be closest to that - practically disappeared.
The analytical load is still there and cannot be abstracted away. The decline of Access etc. happened because many aspects couldn't be mapped. Not to speak of all the nitty gritty details needed to make applications run safely and maintainable. There's still a very long road ahead to automatize all that, especially in a way that it consumes only a reasonable amount of CPU, memory and storage...
My frustrations as HN comments:
* Selective bias in candidate selection - https://news.ycombinator.com/item?id=22098101
* Low productivity environments - https://news.ycombinator.com/item?id=21965539
* False equivalence - https://news.ycombinator.com/item?id=21904199
* There are only 2 APIs for working in the browser and yet most developers can't figure it out to save their careers - https://news.ycombinator.com/item?id=21849398
* Invented Here stupidity - https://news.ycombinator.com/item?id=21417450
* The DOM is a 20 year old standard that is the primary interface to any markup language and the primary interface when working in the browser, yet it is still somehow an arcane mystery of lost knowledge - https://news.ycombinator.com/item?id=21069571
* More about hiring bias - https://news.ycombinator.com/item?id=21015495
* Excessive sensitivity not found in other industries. I have heard that several psychologists are predicting my children's generation will be the most offensive generation as a counter to the extreme sensitivity (fragility) - https://news.ycombinator.com/item?id=20668380
* More selective bias, online code tests. Now when I see online code tests without extremely specific grading criteria I instantly terminate the conversation. - https://news.ycombinator.com/item?id=20605329
Sure... when general AI becomes available, flexible, and has solid usability for something like this. Which will be about the time that faster than light stardrives become common and our meals are materialized out of thin air on demand.
Despite perceptions, the last few years' "AI boom" is mostly marketing. Advances in processor power have made deep learning algorithms practical outside lab settings, but we're not even close to a "generic AI" that can think as well as even a dog can. That's decades away at the earliest.
Right now, we don't even understand how our own brains work.
I don't think SO has dumbed down people. It's just the average level has tanked because of influx of people in tech. In 1980s average computer person was highly skilled, educated and intelligent, because even to get access to even the simplest computer required a solid dedication and investment. Now, tech is ubiquitous, easily accessible, and lots of people with most different backgrounds jump in. You'd be amazed how many 'developers' fail to solve FizzBuzz test. We actually DO test applicants with it, and results are extremely appalling. I am unable to understand how a person who calls himself a developer and has experience can fail this, but I have learned to accept this as an observed phenomenon.