|
Yeah, agree about learning assembly for the sake of grokking the hardware, bluescreen texts, and it helps when configuring bootloaders like Grub. If you have a Windows XP installed somewhere, you can learn some assembler just by playing/poking the video memory with the old DEBUG.EXE program, like this: 1) Switch to fullscreen/DOS mode by running CMD.EXE and pressing ALT+RETURN.
2) Start DEBUG.EXE
3) Check you're on the right track by entering
df000:0, it should display ... IBM COMPATIBLE... something
4) Fill the video memory, e.g.
fb800:0 888 1 2 3 4 5 6 Try to understand what you just did :-) then try to enter some assembly code, start with the command a100 Re. our progress with computers, I think actually things have progressed rather nicely, ok maybe not so much with JS but look at Go for example, they're really trying to fulfill the old dream from the 80's of "sofware ICs".
I've just written some small test programs in Go, but it's remarkable that once I've built an .EXE file, I can copy and run it on other Windows computers, no installation or other configuration necessary. BTW, I'm testing out Qt right now, in that framework there are some great promises of code reuse. |
I will have to set some time off to understand it (better)!
Re. progress, I just have this feeling, that we are just doing the same, over and over again - then creating another language to do the same over and over again. In electronics we have components that does 1 thing, usually with different values. In the worst case, we take a standard component and program it.
I would really like to have a process, where I can architect a system and the data flow and finally code a couple of non-standard functions/classes/methods/whatever and be done :)
Good or bad, Apple is trying to do it in Xcode and several IDEs, give you a glimpse of this. Maybe they just create your HTML for you, but that's a step in the right direction. Of course it would be best to be able to re-use your own code, for the "automated" parts, instead of relying on someone else's idea of what HTML and other code should look like. These guys are trying to do it for Node.js: http://noflojs.org I think it looks really promising. It would be great to be able to concentrate on solution specific code, rather than "everything".
Re. Go, it is my one big regret, I chose Node.js over Go, a couple of years ago. I didn't have the time to understand enough of both languages, so the choice was Node.js, due to the fact "it's javascript" and that it seem good, when I did some prototypes.
The reality is, you client-side developer, should probably never touch your server-side code! It is far from the same. Same syntax, same way of creating classes, less scope problems, there is only 1 environment, so you can remove some code. But from there, it's totally different! Which of course should make sense, since it is two completely different purposes.
Currently we are maintaining our code in a way (APIs), that ensures we can change either side without problems. So they future will probably be Go, as that seems like the best fit for multi-platform (BSD/*NIX) web-service development.
I ran into Qt years ago, when I was trying to get away from Java for a desktop app. I actually ended up with Python and Qt :) It was really a much horrible experience, than I would have thought! :) Qt just worked as supposed, with it's limitations (at that time at least), which wasn't to big of a problem. Have you tried on Mac?..... :)