News for hackers. Stuff that matters.
Re:Coding without Google by sklogic on Thursday May 26, 2016 @04:41AM (#11776517)
I would not say coding is more fun today. There is more stuff available, true, but the quality of documentation is abysmal compared to what we used to have before.

Also, far more needless layers in between hardware and your code. It is annoying. I want to go back to my cosy VAX/VMS environment.

Re:Coding without Google by vanderZwan on Thursday May 26, 2016 @07:49AM (#11777193)
> but the quality of documentation is abysmal compared to what we used to have before

Who needs documentation if we have Stack Overflow? /s

Seriously, I had to learn React for my new job (not a web dev by trade), and while I don't dislike the framework (a compliment in programming land), a lot of times I had to resort to Stack Overflow for information that should have been provided by the documentation; which instead assumed I already understood how React worked, or forgot to mention that things were different in ES6, or mentioned that things were different but wasn't clear about how.

The worst part is that when I complained about this to my friends they said "oh, React is one of the better documented frameworks out there". At that point I honestly wondered how has any webdeveloper has managed to stay sane during the last decade.

As for fun coding with good documentation, I suggest Processing:

https://processing.org/

.. good luck using that professionally though, unless you get paid for creating interactive art.

Re:Coding without Google by ta0967 on Thursday May 26, 2016 @12:54PM (#11779488)
they said "oh, React is one of the better documented frameworks out there"

well, consider the ruby language: it is implementation-defined(!).

i got a Rails job without knowing any of Ruby beforehand (and the other party was aware of this). i made myself comfortable in the office and asked: so where's the Ruby manual? they said, "ruby-doc.org". "that's just the API docs, where's the language reference?" i asked. "there's none. maybe you could use the Bison grammar from the MRI source..." "???"

Re:Coding without Google by sklogic on Thursday May 26, 2016 @07:57AM (#11777221)
> Stack Overflow

Even in this thread people suggested to write documentation straight there. It is an extremely worrying trend.

> how has any webdeveloper has managed to stay sane during the last decade

Did any of them really manage to stay sane?

> https://processing.org/

Last time I looked at it I could not find a printable PDF reference. Is it possible to generate one?

My quality threshold for documentation was always set very high, because I started my career with VMS. And DEC always had that obsession with comprehensive, concise and clean documentation on every tiniest bit they're exposing.

Re:Coding without Google by vanderZwan on Thursday May 26, 2016 @02:17PM (#11780263)
Hmm, I'm not sure about the pdf thing, but it has a fairly small number of core features[0], which are all documented and can be browsed off-line, and searched through from within the minimalistic editor that it comes with.

You could try looking at the source code of the documentation[1]. It uses PHP to render the site, although the actual documentation of the API is XML[2]

[0] https://processing.org/reference/

[1] https://github.com/processing/processing-docs

[2] https://github.com/processing/processing-docs/tree/master/co...

Re:Coding without Google by sklogic on Thursday May 26, 2016 @04:26PM (#11781247)
Thanks, did not notice the XML sources. Looks like it must be possible to produce a decent PDF with some effort.
Re:Coding without Google by vanderZwan on Friday May 27, 2016 @04:23AM (#11784637)
If you manage, be sure to let the Processing foundation know; I'm sure they'll love a PDF (eBook?) version of the documentation.
Re:Coding without Google by DougWebb on Thursday May 26, 2016 @11:21AM (#11778591)
I honestly wondered how has any webdeveloper has managed to stay sane during the last decade.

Who said we stayed sane?

Re:Coding without Google by ysavir on Thursday May 26, 2016 @09:55AM (#11777937)
> There is more stuff available, true, but the quality of documentation is abysmal compared to what we used to have before.

What did you expect? Nowadays, there is a common expectation, especially among web development libraries, for frequent updates, especially in the cases of bugs, etc. In the eyes of the people, functionality became more important than the documentation (though those people would like to claim otherwise, I'm sure).

The demand is for the new code to be available ASAP. And as a result, the documentation suffers, and the implementations and details change faster than the documentation can be maintained.

The emphasis of maintaining good documentation is further lessened by sources like StackOverflow, which provide the library maintainers with an excuse of "we can skip this step, since it will be covered in SO and countless blogs anyway. It's not like we're the only source of information."

This is just an unfortunate symptom of the modern coding ecosystem. Good documentation requires stability and consistency, which today are discouraged in favor of flexibility and quick turnovers.

Re:Coding without Google by softawre on Thursday May 26, 2016 @12:50PM (#11779444)
> Good documentation requires stability and consistency

Or a good architecture, a decent generation system, and a bit of discipline to write out the non-obvious bits that can't be generated.

Re:Coding without Google by sklogic on Thursday May 26, 2016 @01:04PM (#11779582)
Documentation should not suffer from frequent changes. It is easy to keep docstrings in sync with the implementation, they should both be visible at the same moment.

Also, if 99.9% of all those "web frameworks" just die without a trace, the world will become a much better place anyway.

Re:Coding without Google by bluedino on Thursday May 26, 2016 @07:44AM (#11777174)
>> but the quality of documentation is abysmal compared to what we used to have

It is, however, more accessible and easily searchable. And also basically free. Many programmers have never bought or own a book related to programming - they learned from all online sources.

>> layers in between hardware and your code. It is annoying.

But it's so much more convenient. In the old days you had to learn all about your graphics card, your printer, your sound card, you'd need a certain driver for your modem or network card... Now everything is abstracted and easy to use.

Re:Coding without Google by mathgeek on Thursday May 26, 2016 @07:48AM (#11777192)
> Many programmers have never bought or own a book related to programming - they learned from all online sources.

I wonder what the effect of this has been on overall quality of code for this subset. I know that while I've learned more from online sources than books (whether physical or electronic), the lessons I have learned from books are overall above the average quality of all my sources.

Re:Coding without Google by TeMPOraL on Friday May 27, 2016 @07:50AM (#11785350)
I can tell you that the two languages I can confidently say I know well - C++ and Common Lisp - are the ones I learned from books. The rest I learned from various on-line tutorials, articles, references and sometimes from half-reading a book - and while I can code with them, I can feel my coding in them is mediocre. Hell, I feel that the generic-coding skills I have I owe mostly to books (and practice). You can't beat a book in terms of depth and undestanding.

(And don't get me started on videotutorials. This is probably the least cost-effective educational medium ever invented.)

Re:Coding without Google by nilved on Thursday May 26, 2016 @09:41AM (#11777823)
I highly doubt there is any difference, since the only difference is the medium. If a book is published online, it's still a book.
Re:Coding without Google by andrew3726 on Thursday May 26, 2016 @10:24AM (#11778142)
I think you're missing the point. It's not about electronic book vs physical book (If I misunterstood you, sorry and dismiss this post). It's more about the sources on the internet, I don't know many people who read complete books on the computer but rather just read relevant sections somewhere online. While this isn't bad per se, you often miss important details due to different sources (and therefore different views/reader assumptions, ...).
Re:Coding without Google by sklogic on Thursday May 26, 2016 @11:19AM (#11778570)
They tend to be very different kinds of books. A comprehensive, deep printed textbook vs. what is essentially nothing more than a tutorial or a collection of practical recipes.
Re:Coding without Google by nilved on Thursday May 26, 2016 @01:29PM (#11779833)
Does reading _Learn You a Haskell_ online make it any less of a book? My point is that "online sources" is a superset of "books", making them incomparable.
Re:Coding without Google by Jtsummers on Thursday May 26, 2016 @03:01PM (#11780600)
No. However a lot of the things I, anecdata, find when I do a google search aren't books, but blogs and random tutorials and stackoverflow.

Books, due to their published nature, tend to have a greater, more thorough, effort put into them. They are generally well laid out, usually well edited, and because people spent money on them the good ones tended to stay in the market and the bad ones tended to drop out.

There's no fundamental difference (except for me, I do much better at recalling things I read from physical books than ebooks), in the source of online versus offline. But it's hard to ignore the difference in quality that tends to happen.

What would be nice, and this is probably done somewhere, would be a reliable aggregator of good online documentation (whether it's an ebook version of a published text or not). Somewhere we can vet and see vetted quality sources of tutorials, manuals, etc.

Re:Coding without Google by sklogic on Thursday May 26, 2016 @04:25PM (#11781238)
This is among very few exceptions. Most of the books are still proper books (no matter if they're also available as e-books). Most of the stuff people use for learning online is far below a book quality.
Re:Coding without Google by mathgeek on Thursday May 26, 2016 @11:55AM (#11778939)
> If a book is published online, it's still a book. reply

Not really arguing the medium of actual books (which is why I specified in my previous post). More a comparison between topic-specific books and blog posts / StackOverflow.

Re:Coding without Google by sklogic on Thursday May 26, 2016 @08:02AM (#11777240)
> more accessible and easily searchable

Have not seen more easily searchable documentation than the DEC HELP system.

> Many programmers have never bought or own a book related to programming

And it's very sad.

> - they learned from all online sources.

Did they really learn anything? Without the books? Or they are simply trained to repeat few simple tricks over and over again?

> But it's so much more convenient.

I said needless layers. They're annoyance, not convenience.

> In the old days you had to learn all about your graphics card

We had OpenGL in the old days too. Pretty much straight from the beginning of the GPUs.

> your printer,

We had hardware PostScript back then. No drivers required.

> Now everything is abstracted and easy to use

There are piles of layers well above the device drivers now. With 90% of them being totally unnecessary.

Re:Coding without Google by Tactic on Thursday May 26, 2016 @12:57PM (#11779513)
Honestly, I spend a about the same amount of time figuring out how to get the abstracted library/api/someone else's code to do what I actually need it to but it doesn't quite want to do the way I need it as I did writing it in the first place.

In the end, it's still 40 hours a week and the pay is still good :)

Re:Coding without Google by khedoros on Thursday May 26, 2016 @08:14PM (#11782874)
> We had OpenGL in the old days too. Pretty much straight from the beginning of the GPUs.

Someone missed out on the early PC days ;-) An example of what I'm thinking: Standardized-ish PC hardware (CGA, EGA, VGA, et al) might be abstracted by the programming language's libraries, but devs often reached below the abstraction, manually twiddling registers in the hardware. There weren't really standardized "drivers" for a lot of the available hardware.

OpenGL was opened in 1992, but it was only toward the late 90s that any (consumer-level) GPUs actually implemented it.

My apologies if you're mostly talking about non-consumer hardware.

Re:Coding without Google by sklogic on Friday May 27, 2016 @09:03AM (#11785695)
> Someone missed out on the early PC days

I ignored PCs altogether. They were useless toys back then.

We had SGIs, so who cared about PCs?

> devs often reached below the abstraction, manually twiddling registers in the hardware

And we're still doing it, nothing changed. Want performance and control - go low level. Want uniform APIs - use what your vendors are trying to feed you with.

> you're mostly talking about non-consumer hardware

An SGI station is still a kind of a "consumer" hardware.

Re:Coding without Google by khedoros on Friday May 27, 2016 @12:53PM (#11787259)
> We had SGIs, so who cared about PCs?

Who's "we"? If you mean that they existed, then OK, I can't argue that. I've never known anyone that had one, but hundreds who had PC-level hardware.

>And we're still doing it, nothing changed. Want performance and control - go low level.

Low-level has changed significantly in meaning. Now maybe someone would try to go through the driver instead of the higher-level API, but no one's going to do direct register writes. Modern hardware isn't usable at that level.

> An SGI station is still a kind of a "consumer" hardware.

Not a mainstream one by most measures, which is what I was trying to get at.

Re:Coding without Google by sklogic on Saturday May 28, 2016 @05:39PM (#11793665)
> Who's "we"?

We as an industry in general.

> Low-level has changed significantly in meaning

Not that much, actually, just shifted to the other domains.

> but no one's going to do direct register writes.

You'd be surprised. People even do bit-banging now (could you imagine bit-banging a VGA port directly in the past?).

> Modern hardware isn't usable at that level.

Is something like VC4 GPU modern enough? People do work with it on a very low level, thanks to the open specs. See this for example: https://github.com/mn416/QPULib

Actually, all the modern GPUs are getting simpler and more unifirm, so it's getting easier to hack them on a low level.

Re:Coding without Google by ryandrake on Thursday May 26, 2016 @10:12AM (#11778076)
If you think those layers are unnecessary, then don't use them. Create your application using assembly and syscalls. Don't forget though, version 1 needs to be done in 3 weeks...
Re:Coding without Google by sklogic on Thursday May 26, 2016 @11:20AM (#11778581)
Good luck bypassing the unnecessary layers if your code have to run in a browser. Which is exactly an example of such an unnecessary layer (dozens of layers, actually).

And JVM is not any better.

Re:Coding without Google by pjc50 on Thursday May 26, 2016 @12:09PM (#11779074)
No, the browser is a very necessary layer; it provides very effective security isolation between the internet and the windowing system.

The mainframe days assumed that software was installed by the privileged admin and that users were the threat. It's now the other way round: most computers have only one user, but need to run all sorts of software that needs to be kept isolated from the system and each other.

Re:Coding without Google by khedoros on Thursday May 26, 2016 @08:23PM (#11782927)
> No, the browser is a very necessary layer

Effective security isolation is a necessary layer. Browsers are one option to provide that, but there are others. They also provide ways to fetch, run, and interface with cross-platform, highly-efficient code from all over the world. That's both a blessing and a curse.

When I think about the volume of other people's software that we run while doing things online, I wonder how much of it is actually directly related to whatever I'm trying to do, and how much is incidental, unnecessary overhead.

Re:Coding without Google by sklogic on Thursday May 26, 2016 @01:07PM (#11779615)
Browser as it is now is a stupid and unnecessary abstraction. Even a humble Tcl interpreter running in a sandbox would have been many times better than all that thick client browsers.
Re:Coding without Google by Jtsummers on Thursday May 26, 2016 @03:13PM (#11780677)
This was one of the intended use-cases of rebol, IIRC. I know that code/program distribution over the network was, I believe isolation was a part of that (little time to research and confirm) or was intended to be at some stage.

Sort of interesting to think about this now, in the context of web apps and the recent Android instant apps.