Javascript is the "English" of the programming world: ie. it is ubiquitous. Like English, javascript is far from perfect. But it has the advantage that if a company takes a given pool of programmers and start a new web project, it will find that most already know javascript. Even if they don't, Web development means they will be forced to learn it (in order to interact with the frontend).
Certainly, some feel there is no problem becoming an expert in many languages/eco-systems: Java, C#, Go, etc. But ultimately learning and mastering a single language (however flawed) is simpler and more manageable for most people. And at the end of the day you will also need to learn javascript.
Moreover, Node JS is not the only javascript alternative. For embedded work there is also JSI (disclosure: my project), which is for using javascript with C. If your interested you can check it out here:
Despite the anit-MS sentiment, there is a grain of truth to the "ALWAYS a hidden trap" sentiment.
Who here doesn't believe that MS has a huge marketing department that essentially holds sway over almost all major announcements and strategies. The untrue part is that there is some sort of evil at work. There's not. It's not personal at all.
However, to the marketing department, all software outside their control is viewed as a potential competitor. And Linux/GNU more than most.
So we can be reasonably certain that any MS direction is not designed to help Linux be more attractive to users.
The Systemd Consortium of Uber-Masters (SCUM) is proud to announce the finalization of it's acquisition of the NSA. Hot on the heels of absorbing the CIA and FBI, Vice Chancellor Lennart Poettering had this to say: ".. this brings us one step closer to our ulitimate goal of reducing complexity for the common man."
Well, this is part of the new Linux distro tradition: Take things that works perfectly well (and is easily understood) and abstract the hell out of it until it is no longer so.
You don't sound trollish, just naive. The basis of social engineering is "cast the net wide". This is about individuals, not businesses. 95 out of 100 may avoid the hit, but that says more about luck than savy.
Of course we ran virus scanners, but now they can run for 6 hours straight in prime-time.
Unfortunately virus scanners are mostly scare-tactic marketing to sell software, or in the case of certain large software monopolies, to assuage users that they chose the best OS.
The real problem with them is that virus scanners are of little use against Social-Engineering, which is how we figure the infection got in. An example: user receives an email from known client that contains nothing but the line "click for content!" which is a link to a zero-day exploit. Yes, of course most people do not click. However, occasionally someone will. That's the point of social engineering!
So go ahead, use Windows. But when things inevitably go wrong, you'll just blame "idiot IT policy" or bitchy "users" rather than admitting that it is the weak link in the IT world.
Our company also got hacked. Management sent everyone home, restored from backups. Then we spent a bunch of time figuring out what files were modified in the last 36 hours, and redoing that work over. Note that the hackers target only certain file types, eg..doc, and.pdf, but not.xls, so were talking mostly about documentation. Unfortunately, our PC's are now limping along because the virus scanner is running all the time now, and so chews up resources.
Our company is Windows-centric for everything except code development (which is Linux using a VM under Windows), and this is a clear example of why Linux is more secure than Windows. Not necessarily inherently, but because Windows desktops are the "mainstream". And hackers target the mainstream!
To wit, I switched to Windows for a year, but subsequently, every search I did to fix Windows problems required putting "Windows" in the search box. This inevitably led to ever more heinously cunning hacker/virus/spyware results which had to be waded through. Try as you might to avoid them, eventually one of them ends up getting you. It ends up being about as much fun as a potato-sack race through a mine-field.
At my place of employment, we implemented a number of.NET apps that were mostly just a wrapper-frontend to our websocket based main app. We can pretty much do the same thing using Chrome, but it was thought this would be easier for our clients to use. Unfortunately, we also run a resource heavy data-generating simulator on the PC along with the app. So we couldn't help notice that when we used the.NET app, the simulator would get starved out. On the other hand, when using a browser, there was no such problem. (BTW: I find this a little ironic as browsers were the original 800lb gorrila.)
So this leads one to wonder if one goal of.NET for MS wasn't to nudge up the number of server licenses, along with licenses for other MS products (IIS,SQL Server,...)
Where I work, we use both Linux and QNX in hardened industrial touchscreen arm devices. Unsurprisingly, QNX is lighter, but being proprietary causes us grief.
As for speed, sorry, but overwhelmingly the applications execution determines that, and since both use the same instruction set, there isn't much difference.
What QNX does offer, and some people really like, is less choice. It's stripped down, has few frills, and is realtime by default. QNX generally runs in a smaller footprint, but given current RAM sizes these days, who cares.
Our Linux application UI is HTML/JS, using a custom rolled buildroot-based OS that uses Websockets communicating with a WebGL-enabled luakit browser. This was a bit of work to setup initially, but very straightforward as many other have already worn that wagon rut for us. It is interesting to note however that the kernel is tiny compared to the rest of the OS (1/2 of our 4 hour build time is one packages: WebKit).
For QNX, we are not developing the primary application (the customer is) . However, based on our experiences building free software for QNX, the thought of trying to deliver the above software stack in QNX is truly sobering.
Linux just has a massively larger talent pool from which to draw upon when trying to solve problems. And there are just some things you will never be able to do under QNX as you don't have kernel source. Plus, some of us have been around long enough to have witnessed first hand the vendor lock-in horror show.
So the point is, the decision to use QNX over Linux is based mostly on marketing. if Linux gives the same results, for similar resource inputs, why would you willingly submit to vendor lock-in? The part that is not marketing, as far as I can tell, is less choice. Which in the hands of the less adept, can mean less risk.
For cripes sake, C is just a tool. If you don't know how to use the tool, of course your going to be prone to throwing it down and declaring it to be useless. It is useless, if you don't know how to use it properly!
C takes a long time to master. And maybe that is the problem. Most other languages are much less unforgiving and quicker to pick up. But with C, we're talking about decades.
Actually that will be so convenient! I keep forgetting to plug in my wallet, and it is always running out of power just when I need to make a purchase.
And yet more complexity, that's what we really need! Maybe we could have each daemon which is managed by systemd run in it's own virtual machine. Think how awesome that would be in a distribution...
systemd is a solution to a non-problem. It highlights the wagon rut that Linux devs have become stuck in. Namely:
1) Because the HW vendors ignore it, Linux (still/always) has a problems supporting laptop hardware: accelerated video, wireless, suspend/resume, etc. 2) Since we can't solve the above we just tinker with other stuff, adding even more breakage to that caused by problem 1).
Basically, we're painting the deck of the Titanic, as it lists to 30 degrees, while complaining that our "Wet Paint" signs keep sliding off the deck.
Of course! What do you expect? Although Linux runs on laptops, HW makers really only test using drivers for Windows. And laptops these days have so many differentiating (ie. proprietary) features, getting things (especially suspend/hibernate) working is a challenge, even in Windows. And this will never change.
Javascript is the "English" of the programming world: ie. it is ubiquitous. Like English, javascript is far from perfect. But it has the advantage that if a company takes a given pool of programmers and start a new web project, it will find that most already know javascript. Even if they don't, Web development means they will be forced to learn it (in order to interact with the frontend).
Certainly, some feel there is no problem becoming an expert in many languages/eco-systems: Java, C#, Go, etc. But ultimately learning and mastering a single language (however flawed) is simpler and more manageable for most people. And at the end of the day you will also need to learn javascript.
Moreover, Node JS is not the only javascript alternative. For embedded work there is also JSI (disclosure: my project), which is for using javascript with C. If your interested you can check it out here:
http://pdqi.com/jsi
What does this have to do with Java? Nothing. But it goes to reuse. Reuse of skill-sets rather than code.
(reposted as forgot to log in)
Despite the anit-MS sentiment, there is a grain of truth to the "ALWAYS a hidden trap" sentiment.
Who here doesn't believe that MS has a huge marketing department that essentially holds sway over almost all major announcements and strategies. The untrue part is that there is some sort of evil at work. There's not. It's not personal at all.
However, to the marketing department, all software outside their control is viewed as a potential competitor. And Linux/GNU more than most.
So we can be reasonably certain that any MS direction is not designed to help Linux be more attractive to users.
The Systemd Consortium of Uber-Masters (SCUM) is proud to announce the finalization of it's acquisition of the NSA. Hot on the heels of absorbing the CIA and FBI, Vice Chancellor Lennart Poettering had this to say: ".. this brings us one step closer to our ulitimate goal of reducing complexity for the common man."
I for one am relieved that the Internet of Non-things is finally over.
Inane Obscure TLA
OO is, in general, an attempt to abstract-out some of the complexity inherent with developing code.
The often overlooked question is: how frequent is it that OO (and in particular C++) end up increasing complexity.
Is this in the same vein as "Ppl who don't know General Relativity slamming the Speed Of Light"?
The big problem with C++ is that it's complexity makes it unknowable for the vast majority of the population.
On the plus side, it does make producing entries for Code Obfuscation contests rather easy! <smiley />
> What would have been wrong with just creating a compiler which was both a C compiler, and also a compiler for a clean OO language.
Because C++ incrementally evolved from C and was originally bootstrapped as an translator to C (cfront).
http://en.wikipedia.org/wiki/C...
The learning curve is too high simply because the language is too big.
The amazing thing is the high frequency of the word "fucking" in the context of Win 8 discussions. Must be just a coincidence.
Well, this is part of the new Linux distro tradition: Take things that works perfectly well (and is easily understood) and abstract the hell out of it until it is no longer so.
You don't sound trollish, just naive. The basis of social engineering is "cast the net wide". This is about individuals, not businesses. 95 out of 100 may avoid the hit, but that says more about luck than savy.
Of course we ran virus scanners, but now they can run for 6 hours straight in prime-time.
Unfortunately virus scanners are mostly scare-tactic marketing to sell software, or in the case of certain large software monopolies, to assuage users that they chose the best OS.
http://www.computerworld.com/a...
The real problem with them is that virus scanners are of little use against Social-Engineering, which is how we figure the infection got in. An example: user receives an email from known client that contains nothing but the line "click for content!" which is a link to a zero-day exploit. Yes, of course most people do not click. However, occasionally someone will. That's the point of social engineering!
So go ahead, use Windows. But when things inevitably go wrong, you'll just blame "idiot IT policy" or bitchy "users" rather than admitting that it is the weak link in the IT world.
Our company also got hacked. Management sent everyone home, restored from backups. Then we spent a bunch of time figuring out what files were modified in the last 36 hours, and redoing that work over. Note that the hackers target only certain file types, eg. .doc, and .pdf, but not .xls, so were talking mostly about documentation. Unfortunately, our PC's are now limping along because the virus scanner is running all the time now, and so chews up resources.
Our company is Windows-centric for everything except code development (which is Linux using a VM under Windows), and this is a clear example of why Linux is more secure than Windows. Not necessarily inherently, but because Windows desktops are the "mainstream". And hackers target the mainstream!
To wit, I switched to Windows for a year, but subsequently, every search I did to fix Windows problems required putting "Windows" in the search box. This inevitably led to ever more heinously cunning hacker/virus/spyware results which had to be waded through. Try as you might to avoid them, eventually one of them ends up getting you. It ends up being about as much fun as a potato-sack race through a mine-field.
Didn't he invented EEE (Embrace, Extend, Extinguish)?
Just for the record, how much significant software out there does not have C (and/or C++) at it's core.
Even C# has it's core written in C++, apparently. I
.NET is a marketing vessel.
To me, .NET === Resource-Hog
At my place of employment, we implemented a number of .NET apps that were mostly just a wrapper-frontend to our websocket based main app. We can pretty much do the same thing using Chrome, but it was thought this would be easier for our clients to use. Unfortunately, we also run a resource heavy data-generating simulator on the PC along with the app. So we couldn't help notice that when we used the .NET app, the simulator would get starved out. On the other hand, when using a browser, there was no such problem. (BTW: I find this a little ironic as browsers were the original 800lb gorrila.)
So this leads one to wonder if one goal of .NET for MS wasn't to nudge up the number of server licenses, along with licenses for other MS products (IIS,SQL Server, ...)
Where I work, we use both Linux and QNX in hardened industrial touchscreen arm devices. Unsurprisingly, QNX is lighter, but being proprietary causes us grief.
As for speed, sorry, but overwhelmingly the applications execution determines that, and since both use the same instruction set, there isn't much difference.
What QNX does offer, and some people really like, is less choice. It's stripped down, has few frills, and is realtime by default. QNX generally runs in a smaller footprint, but given current RAM sizes these days, who cares.
Our Linux application UI is HTML/JS, using a custom rolled buildroot-based OS that uses Websockets communicating with a WebGL-enabled luakit browser. This was a bit of work to setup initially, but very straightforward as many other have already worn that wagon rut for us. It is interesting to note however that the kernel is tiny compared to the rest of the OS (1/2 of our 4 hour build time is one packages: WebKit).
For QNX, we are not developing the primary application (the customer is) . However, based on our experiences building free software for QNX, the thought of trying to deliver the above software stack in QNX is truly sobering.
Linux just has a massively larger talent pool from which to draw upon when trying to solve problems. And there are just some things you will never be able to do under QNX as you don't have kernel source. Plus, some of us have been around long enough to have witnessed first hand the vendor lock-in horror show.
So the point is, the decision to use QNX over Linux is based mostly on marketing. if Linux gives the same results, for similar resource inputs, why would you willingly submit to vendor lock-in? The part that is not marketing, as far as I can tell, is less choice. Which in the hands of the less adept, can mean less risk.
For cripes sake, C is just a tool. If you don't know how to use the tool, of course your going to be prone to throwing it down and declaring it to be useless. It is useless, if you don't know how to use it properly!
C takes a long time to master. And maybe that is the problem. Most other languages are much less unforgiving and quicker to pick up. But with C, we're talking about decades.
This may be true for new code, but when maintaining C++ code written by others, not so much. Everyone has a different set of "features they like".
Actually that will be so convenient! I keep forgetting to plug in my wallet, and it is always running out of power just when I need to make a purchase.
And yet more complexity, that's what we really need! Maybe we could have each daemon which is managed by systemd run in it's own virtual machine. Think how awesome that would be in a distribution...
systemd is a solution to a non-problem. It highlights the wagon rut that Linux devs have become stuck in. Namely:
1) Because the HW vendors ignore it, Linux (still/always) has a problems supporting laptop hardware: accelerated video, wireless, suspend/resume, etc.
2) Since we can't solve the above we just tinker with other stuff, adding even more breakage to that caused by problem 1).
Basically, we're painting the deck of the Titanic, as it lists to 30 degrees, while complaining that our "Wet Paint" signs keep sliding off the deck.
Of course! What do you expect? Although Linux runs on laptops, HW makers really only test using drivers for Windows. And laptops these days have so many differentiating (ie. proprietary) features, getting things (especially suspend/hibernate) working is a challenge, even in Windows. And this will never change.