Earlier quoted context omitted.
I can't think of a reason a dev server should be remote instead of on your machine, unless you're working with large, live data sets that you can't download... Can you explain the setup a bit more?
Well, with web IDEs, the server is remote, isn't it ? The reason here was the same: easy to setup environment because every dev had the same server image, with same config, etc. I guess that's what remote IDEs have going for them. I think Koding.com markets this very very well.
Learning to program is getting harder
381–390 of 422 posts
Re: Learning to program is getting harder
#382I work at JetBrains on https://datalore.io/ It's an interactive computational notebook for data science, which automatically recalculates code as you change it. We believe that such an interface lowers the barrier for entry into data science (and programming).
Looks great, though I can't find anything about pricing or pricing plans (looks like it's in open beta?) While I've dabbled with using jupyter for teaching programming to high school students, on the whole its usually too difficult to get up and running for someone who's not already moderately tech savvy. Interface is everything when starting off; this looks quite promising if the pricing is affordable for schools
Re: Learning to program is getting harder
#383> Computer retailers stopped installing development environments by default This is true, but somewhat ignores web browsers. The big ones (Chrome, Firefox, IE & Safari) all have complete and high quality dev environments. The article is Python-centric, and so the best answer for that right now is: install Anaconda! Otherwise, the general argument being made here is solved by JavaScript at the moment. If you use JS to…
BASIC is easy to understand. Javascript is incomprehensible in comparison. https://news.ycombinator.com/item?id=11637866 var drawing = document.createElement('canvas'); document.body.appendChild(drawing); var ctx = drawing.getContext('2d'); ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(100, 100); ctx.stroke(); VS SCREEN 13 LINE (X1, Y1) - (X2, Y2), COLOUR I'm not claiming BASIC is a good language, or that it teaches…
The question here wasn't whether the language is easy to use, the issue raised in the article was whether the language & dev environment are pre-installed, how hard they are to install, and then how hard the programs are to share after you're written them.
No version of BASIC is being shipped with any OS today. You still have to download the language and a dev environment on a brand new (Windows) computer. And when you share a BASIC program, you either have to build an executable that will run on someone else's machine, or the recipient has to install BASIC on their own. (The article was about sharing code & learning to code, so a binary isn't ideal.)
JavaScript and the dev environment, on the other hand, comes with every new computer, on every OS, because browsers are pre-installed.
BTW, is this modern basic? That looks like what I remember from DOS 2.0 in 1980. :P
To be fair, you're comparing HTML canvas API to BASIC's native line drawing, this example doesn't actually say much about the JavaScript or BASIC languages. And it doesn't compare BASIC's graphics to canvas's... with canvas you can draw curves and bitmaps and do transforms. I'm not familiar with whether BASIC can do that these days.
In my experience, canvas is quite easy to use, even compared to BASIC. I know you were joking, but incomprehensible is what I'd use for, say, Vulkan or DX12. JS+canvas is very comprehensible and easy, at all times, in my opinion.
Re: Learning to program is getting harder
#384Earlier quoted context omitted.
When I went to college, CS required 3 semesters of Calc and 3 semesters of Physics. It's almost as if CS was trying to fill in some hours. Calc and Physics are great and all, but very narrowly applicable. The only benefit is how it works your brain (and a good weed out course). I would ditch that and concentrate only on computer related issues. Database would be a big one that is usually missing. Networking as well.…
I've found that some universities have a program like this -- replacing the calc, physics and higher-level math with more hands-on classes. At my university, a BA in CS was like this, while a BS maintained the rigorous math requirements. I've also seen programs labeled Information Systems that's similar. Not sure I agree with whole-scale removal of it though. I have to use calculus every once in a while in my job. Wh…
Re: Learning to program is getting harder
#385Earlier quoted context omitted.
The famous question is "why are manhole covers round?" Manholes being artificial, this leaves some room for speculation about why the shape was chosen. "Why is a pothole round?" is a more objective question.
Sorry, confused here on why the pothole variant is more objective? If anything, the manhole cover one seems pretty clear cut?
Re: Learning to program is getting harder
#386Earlier quoted context omitted.
CLI tools are all about codeveloping the build environment with the project. Instead of you trying to remember the weird flags, write a one-line shell script and save it with the project. For example, my current side project is built on C+SQLite. The larger chunks of SQL are plain text files so that I don't have to worry about C string escaping. Instead of trying to read them at runtime, I have the build process wrap…
Just to give you an idea of how you would do that in Delphi (even in 1996): 1) Drop an instance of your database-specific query class (or a generic database API query class, such as ODBC, ADO, etc.) on a form or data module. 2) Click on the property editor button next to the SQL property for the class instance in the object inspector. 3) Input your SQL in the provided window (or load/save to/from a file, whatever the…
As a programmer, my job is to produce a set of instructions that a computer can understand. The Unix shell is quirkier than most, but it is a real programming language that I can bring all of my profession's skills to bear on. IDEs, on the other hand, are opaque boxes that work great until you need something they didn't anticipate.
I'll readily admit that my needs are no longer those of a beginner, but my learning path was a pretty steady climb of copy/pasting boilerplate, to making a few small changes, to just starting with an empty file and writing everything from scratch.
I worry[1] that, by hiding complexity from beginners, we may be hindering eventual mastery in the name of making it easy to start learning. Are modern intermediate-level developers asking questions like:
- I've been told to always do X; what happens if I don't? - This thing I usually ignore seems vaguely related to my current problem; what does it actually do?
[1] Without any real foundation or evidence
Re: Learning to program is getting harder
#387Earlier quoted context omitted.
Most manholes are round because that is the most practical shape such that the cover cannot fall in. There are actually other shapes, but they are usually hinged and most costly.
I've never thought about it, but a circle of the correct size has no less reason to not fall in than say a square or triangle of the appropriate size. I.e. if it's smaller than the hole, it'll most likely fall in. My theory: They're heavy, so making it a circle at least eliminates the need to "align" it when putting it back. You can basically just drag it using a hook and it'll slot itself into place.
In particular from https://en.wikipedia.org/wiki/Prince_Rupert%27s_cube
> In geometry, Prince Rupert's cube (named after Prince Rupert of the Rhine) is the largest cube that can pass through a hole cut through a unit cube, i.e. through a cube whose sides have length 1, without splitting the cube into two pieces. Its side length is approximately 6% larger than that of the unit cube through which it passes. The problem of finding the largest square that lies entirely within a unit cube is closely related, and has the same solution.
That 6% larger is the key.
Re: Learning to program is getting harder
#388I don't understand this viewpoint at all. There's a breathtaking amount of tutorials, Q/A (stackoverflow), forums, chats, that can get someone started with a fraction of the effort it took for me to learn programming 20 years ago. There are one-click installers for programming languages and for IDEs. There are entire free books online to learn specific languages or frameworks. I think people have gotten lazier and th…
> forums Every single forum I frequented "back in the days" (ca. 2004, vBulletin-style) is gone. These were forums that hosted intense/focused technical discussions, in a way that just doesn't seem to exist anymore, with very few exceptions. At least I cannot find anything comparable. Today, there is just Reddit/HN and everything else is mostly commercialized and/or dumbed-down content. Don't even get me started on "…
Re: Learning to program is getting harder
#389Earlier quoted context omitted.
It is a computer, of a different design.
A jet fighter is a computer with wings. I don't think we should expect pilots to be computer literate the same way a software programmer needs to be.
Re: Learning to program is getting harder
#390I got my CS degree in 2012. It was kinda scary how many students were on the verge of graduation, and were unable to use a terminal, use SSH, or tell you what git is (not that I know exactly o_o). Those aren't particularly complex concepts. It is definitely partially the schools fault, but CS is also a field where you have to have some interest in what you do. You can't just go through the motions.
I wasn't able to use version control at all when I graduated; I didn't even realize it was an option. I just every now and then would make a tar of my project in case I lost something. I suppose I had copy/pasted some cvs commands from sourceforge in order to download the source of some open-source projects, but that was the full extent of my interactions with source control.