Why not Delphi? It has even a free implementation, the Free Pascal Compiler and the Lazarus IDE. The Pascal language was created precisely to teach programming... in 1972, OK, but nonetheless Delphi has vastly improved it since. And it's still evolving.
Old news. Every new windows since Win2000 has had a file explorer slightly worse than its predecessor.
[IRONY=ON] Look, in Windows you don't have files: you have "Apps" and "Data". All you need is a way to open the apps, they will load data for you automagically. If you are really so jurassic, you can always open "data folders" like Images, Audio, Music and every other stupid useless crap you have in your computer. File Explorer is just a remnant, for compatibility... I really can't fathom why anyone could want to open a disc with it. Heck, you shouldn't even KNOW what a disc is.
Of course, they could be less anal and write something like 'unexpected keyword "else"'
That would be the bare minimum. And it's easy to do. And no, they don't do it. I see this carelessness in every software that logs or reports errors, but it's most prominent in programming languages. I wonder why, among the programs they write, programmers care less about their own tools.
That error message should be "Can't assign to a language keyword, you %&#@£!!!"
Generally speaking, NO ONE of the many new languages I have seen in decades give a thing about precise error reporting and human-meaningful explanation of the wrongdoing. Why so much hate???
You could more easily win programmers to your language if they won't need the necronomicon to fathom what's wrong with their code... but NNOOOOO, let's give them hell...
What makes me wonder: does Fox News make profits? Or its political placement makes Fox unpalatable to advertisers? (I'm a foreigner, never been in USA)
Without NN, ISPs can and will split their offer. You will be no more allowed to buy a "connection to internet".
You will get a HTTP connection for a price, email for another. Ops, no video... you must pay another fee for that. E-commerce, paypal, e-banking? Sure, but they will cost you another bunch of bucks: all that security to add, you know... Newspapers and magazines? Sure, we have a whole bouquet of subscriptions available: NYtimes, WaPo, just name it. You can even try them 10 days for free.
Of course to even get to ME, you need either layer-3 network access or physical access.
Maybe not. One problem is that ME runs a custom version of MINIX: sure enough, the thing has a full TCP/IP stack. Maybe it has even drivers for a bunch of very common PCI-E network/WiFi cards, or USB ones (would be easier too). Which means that you *could* have someone peeking in your PC even from the Internet... and even if you attached the LAN cable to a discrete card instead of the motherboard plug.
Maybe we will not have a "venus effect", but you should still fear CO2.
FYI: professional safety limits for CO2 exposition, 8 hrs/day, are 5000 ppm (italian laws). Check your country's laws, probably your values aren't too different. Considering a 24/7/365 exposition, I figure we end up with numbers even closer to the current 400 ppm level.
Before 2008 nobody in the US gov cared about foreign propaganda. Now they worry about people saying things they don't like. That's the same thing USSR was worried about all the time since post-WW2 at least... people must not speak freely, or they will tell things the Nomenklatura cannot allow to pass over as truth.
IMHO, this means that US propaganda (yes, there is) is not working anymore. American people, or at least a significant part of it, has stopped thinking what the deep state (and the media, and the elites) wants they to think. The writing is on the wall. Now the million dollar question is: what american people is going to think? What will they held as truth, what will they value most, what will they ask to their government?
The STL is not part of C++. Was added later, rather quickly, when became clear to developers what C++ should have been. Still it was buggy and pretty non-orthogonal, i.e. not every algorithm-container combinations were good and sometimes you were better (or forced to) calling specialized member versions. Things are better today, but STL isn't really fixed yet anyway.
As a result, today in C++ we work with Cstrings, QTstrings, Ansistrings, UnicodeStrings, WhateverFrameworkStrings... anything but std::strings, since it would mean converting strings all the time. You can say "OK, frameworks would have had their string types anyway": maybe, but they would have been based upon C++ strings, because that would have been the obvious choice. They would have been cousins, instead of perfect strangers. And a poor grunt developer, like me, today could find some string love shifting frameworks, instead of learning from scratch every time, since the world would have been a little bit more standard...
If you are really looking for an "Ideal language", maybe you should pay attention on what's going on in the "old" languages instead of focusing on new ones. Fortran, COBOL, Pascal and others, even C++ itself are all evolving, taking concepts from one another. I would dare to say they are slowly converging, though they will never become one.
This trend should give you some good clues on what's really good to have in an "ideal" language. If a professional developer community take the task to adjourn their already working, time-tested language, they will add what they really need, and not what some academic thinks it could be nice (I still facepalm for C++ not having a native string type) or what someone thinks it's cool to have, just to give it a try.
Economics. The name of the game. With PC/servers you can get past away telling your customers to reboot, patch, upgrade or just doing nothing, if the complaints aren't really loud. With cars you cannot.
Your fault (liability? I'm not familiar with legalese) in a car crash/hijack DOES cost you. A LOT. And car makers simply can't afford to recall every single car any time they need to patch a bug. I talked about EAL levels for a reason: with EAL 5 or higher, you can get an insurance for software bugs. With 4 or less (Windows/RedHat/Debian), insurance companies just laugh at you.
Not surprising at all. They keep using unsafe languages like C, C++ or Java instead of time-tested safe ones for critical environments (ADA). They don't use EAL 5 (or higher) assurance levels, like avionics does, but stay with "it works, see?".
I was hoping that car software would start a revolution in computer programming, at long last fostering a new generation of languages and best coding practices: I was hoping we would move to the "this class of bugs cannot exist" kind of bug-free, instead of "hey, we can't see any bug from here" that software houses gives us today. Me deluded.
But maybe the recall catastrophe will force automakers to take software development more seriously. Maybe there is still hope...
Not so simple. In my small town there is a notorious firm, with business worldwide, running an in-house central DB for ALL its stores on a 486 server, because back in the days they signed a per-core contract with Oracle... 200.000 euro each CPU core. New hardware is all multicore, so they simply cannot afford a new server. And yes, it's ungodly slow. To the point that stores are reverting to fax ordering.
That said, OK here we can have some dumbass around, but I would expect someone big like BA to perform much better than that....
Can you tell me of a software installing and running smoothly (just install and work) on each and every Linux distro? No? Thought so.
So why do you suppose a mere virus can achieve such feat? "The LINUX(tm) operating system" does not exist. Linux is a kernel, a piece of an OS. Debian, CentOS, RedHat are operating systems. AND they are all different.
The great pain of software houses with Linux is supporting distros. A developer can guarantee his product on the distro he's using and maybe another two or three. Don't you use one of them? Good work and good luck with manual install (and/or building from source). Same with viruses: a Linux virus can't rely on a particular OS and its infectivity would be a lot lesser. This is IMHO the main security bonus of the linux OSes.
I'm pretty sure you won't teach them a lot in three hours. Maybe some very basic concept, something they could learn on their own (and faster) in a CS introductory book. I think you could achieve more trying to inspire them. Programming is great, programming is the making of worlds by your own hands, when you code you are a small-scale god. Next, tell them about coding horror stories, team stories, pitfalls, let them think that CS learning is needed and worthy. Show them there are giants whose shoulders they can climb and reach farther than they could. The movie "Invictus" has a scene when Mandela talks to the team leader:
- Nelson Mandela: How do you inspire your team to do their best?
- Francois Pienaar: By example. I've always thought to lead by example, sir.
- Nelson Mandela: Well, that is right. That is exactly right. But how do we get them to be better then they think they CAN be? That is very difficult, I find. Inspiration, perhaps. How do we inspire ourselves to greatness when nothing less will do? How do we inspire everyone around us? I sometimes think it is by using the work of others.
Do you REALLY want to run a CAD software on a nintendo-like screen, no mouse, no keyboard? Some hardware/software combinations simply does not make sense. Just think about all the fuss about mobile websites, and that was just for screen resolutions (no, NOT for bandwidths)... Most of the times, user interfaces are projected for a particular kind of device and does NOT bode well on a different one. P.S.: No, java is NOT the answer to portability...
Production works are going to be few, but those few are going to be high-skill profiles. A CNC is easy to program (compared to standard programming languages). You can think most of the work is done by CAM programs, but it's not exactly so. Many tasks are like drill & tap 4 holes on a plate, far too simple for the kind of time you waste whipping up a CAM. A good operator that can program his machine on the fly has an edge. And boys, those kind of works ARE well payed.
Of course ARM had simplicity (=cheap) and energy efficiency goals when it ran for mobile.
But, of course, you go for more goals if the run change. IMHO the next big thing, the goal Qualcomm is running for, are desktop-capable phones.
You come home, attach your smartphone to a docking station with mouse/kb/monitor/whatever and there you go. No PC anymore.
Microsoft already went this way some time ago, so it's hardly a surprise that they collaborate with Qualcomm on it.
CMSmatrix... you mean I have to sort through 1200 CMS, but compare only ten at a time, and can't select relevant ones by "have e-commerce?" or "when was last update/version?" or "is LAMP-compatible?" or "language used (PHP/Java/Ruby/whatever)?" or "opensource/commercial?"
No, thank you... I have better ways to waste my time...
Humans rarely think long term, even when doing a long term deal. Our reptile brain thinks "if something goes wrong I'll escape", and our mammalian brain thinks "omigosh it's so cool!"... and even if your neocortex is strong enough to win the fight, your wife has already bought that! No match!:-D
Why not Delphi? It has even a free implementation, the Free Pascal Compiler and the Lazarus IDE.
The Pascal language was created precisely to teach programming... in 1972, OK, but nonetheless Delphi has vastly improved it since. And it's still evolving.
File Explorer is worse than ever.
Old news. Every new windows since Win2000 has had a file explorer slightly worse than its predecessor.
[IRONY=ON]
Look, in Windows you don't have files: you have "Apps" and "Data". All you need is a way to open the apps, they will load data for you automagically. If you are really so jurassic, you can always open "data folders" like Images, Audio, Music and every other stupid useless crap you have in your computer. File Explorer is just a remnant, for compatibility... I really can't fathom why anyone could want to open a disc with it. Heck, you shouldn't even KNOW what a disc is.
Spitefully yours,
Satya Nadella
[IRONY=OFF]
Of course, they could be less anal and write something like 'unexpected keyword "else"'
That would be the bare minimum. And it's easy to do. And no, they don't do it. I see this carelessness in every software that logs or reports errors, but it's most prominent in programming languages. I wonder why, among the programs they write, programmers care less about their own tools.
julia> else = false
ERROR: syntax: unexpected "else"
That error message should be "Can't assign to a language keyword, you %&#@£!!!"
Generally speaking, NO ONE of the many new languages I have seen in decades give a thing about precise error reporting and human-meaningful explanation of the wrongdoing. Why so much hate???
You could more easily win programmers to your language if they won't need the necronomicon to fathom what's wrong with their code... but NNOOOOO, let's give them hell...
"From: Jakub Jelinek : GCC 8.1 Released
Some code that compiled successfully with older GCC versions might require
source changes"
OK I'll stick to my version, I think...
...from CoD WWII to GTA XXVI, prison VR3D odorama edition.
What makes me wonder: does Fox News make profits? Or its political placement makes Fox unpalatable to advertisers? (I'm a foreigner, never been in USA)
Without NN, ISPs can and will split their offer. You will be no more allowed to buy a "connection to internet".
You will get a HTTP connection for a price, email for another. Ops, no video... you must pay another fee for that. E-commerce, paypal, e-banking? Sure, but they will cost you another bunch of bucks: all that security to add, you know... Newspapers and magazines? Sure, we have a whole bouquet of subscriptions available: NYtimes, WaPo, just name it. You can even try them 10 days for free.
And on, and on, and on...
(torrents? Omigosh, heaven NO! that's ILLEGAL!!! ...)
Of course to even get to ME, you need either layer-3 network access or physical access.
Maybe not. One problem is that ME runs a custom version of MINIX: sure enough, the thing has a full TCP/IP stack. Maybe it has even drivers for a bunch of very common PCI-E network/WiFi cards, or USB ones (would be easier too). Which means that you *could* have someone peeking in your PC even from the Internet... and even if you attached the LAN cable to a discrete card instead of the motherboard plug.
Not knowing is the real problem here...
Maybe we will not have a "venus effect", but you should still fear CO2.
FYI: professional safety limits for CO2 exposition, 8 hrs/day, are 5000 ppm (italian laws). Check your country's laws, probably your values aren't too different. Considering a 24/7/365 exposition, I figure we end up with numbers even closer to the current 400 ppm level.
Before 2008 nobody in the US gov cared about foreign propaganda. Now they worry about people saying things they don't like. That's the same thing USSR was worried about all the time since post-WW2 at least... people must not speak freely, or they will tell things the Nomenklatura cannot allow to pass over as truth.
IMHO, this means that US propaganda (yes, there is) is not working anymore. American people, or at least a significant part of it, has stopped thinking what the deep state (and the media, and the elites) wants they to think. The writing is on the wall. Now the million dollar question is: what american people is going to think? What will they held as truth, what will they value most, what will they ask to their government?
The STL is not part of C++. Was added later, rather quickly, when became clear to developers what C++ should have been. Still it was buggy and pretty non-orthogonal, i.e. not every algorithm-container combinations were good and sometimes you were better (or forced to) calling specialized member versions. Things are better today, but STL isn't really fixed yet anyway.
As a result, today in C++ we work with Cstrings, QTstrings, Ansistrings, UnicodeStrings, WhateverFrameworkStrings... anything but std::strings, since it would mean converting strings all the time. You can say "OK, frameworks would have had their string types anyway": maybe, but they would have been based upon C++ strings, because that would have been the obvious choice. They would have been cousins, instead of perfect strangers. And a poor grunt developer, like me, today could find some string love shifting frameworks, instead of learning from scratch every time, since the world would have been a little bit more standard...
If you are really looking for an "Ideal language", maybe you should pay attention on what's going on in the "old" languages instead of focusing on new ones. Fortran, COBOL, Pascal and others, even C++ itself are all evolving, taking concepts from one another. I would dare to say they are slowly converging, though they will never become one.
This trend should give you some good clues on what's really good to have in an "ideal" language. If a professional developer community take the task to adjourn their already working, time-tested language, they will add what they really need, and not what some academic thinks it could be nice (I still facepalm for C++ not having a native string type) or what someone thinks it's cool to have, just to give it a try.
Economics. The name of the game. With PC/servers you can get past away telling your customers to reboot, patch, upgrade or just doing nothing, if the complaints aren't really loud. With cars you cannot.
Your fault (liability? I'm not familiar with legalese) in a car crash/hijack DOES cost you. A LOT. And car makers simply can't afford to recall every single car any time they need to patch a bug. I talked about EAL levels for a reason: with EAL 5 or higher, you can get an insurance for software bugs. With 4 or less (Windows/RedHat/Debian), insurance companies just laugh at you.
Not surprising at all. They keep using unsafe languages like C, C++ or Java instead of time-tested safe ones for critical environments (ADA). They don't use EAL 5 (or higher) assurance levels, like avionics does, but stay with "it works, see?".
I was hoping that car software would start a revolution in computer programming, at long last fostering a new generation of languages and best coding practices: I was hoping we would move to the "this class of bugs cannot exist" kind of bug-free, instead of "hey, we can't see any bug from here" that software houses gives us today. Me deluded.
But maybe the recall catastrophe will force automakers to take software development more seriously. Maybe there is still hope...
Not so simple. In my small town there is a notorious firm, with business worldwide, running an in-house central DB for ALL its stores on a 486 server, because back in the days they signed a per-core contract with Oracle... 200.000 euro each CPU core. New hardware is all multicore, so they simply cannot afford a new server. And yes, it's ungodly slow. To the point that stores are reverting to fax ordering.
That said, OK here we can have some dumbass around, but I would expect someone big like BA to perform much better than that....
Can you tell me of a software installing and running smoothly (just install and work) on each and every Linux distro? No? Thought so.
So why do you suppose a mere virus can achieve such feat? "The LINUX(tm) operating system" does not exist. Linux is a kernel, a piece of an OS. Debian, CentOS, RedHat are operating systems. AND they are all different.
The great pain of software houses with Linux is supporting distros. A developer can guarantee his product on the distro he's using and maybe another two or three. Don't you use one of them? Good work and good luck with manual install (and/or building from source). Same with viruses: a Linux virus can't rely on a particular OS and its infectivity would be a lot lesser. This is IMHO the main security bonus of the linux OSes.
...when you hand the task over to the HALO crew. Absolutely NO flicker, man. Oh, wait...
I'm pretty sure you won't teach them a lot in three hours. Maybe some very basic concept, something they could learn on their own (and faster) in a CS introductory book. I think you could achieve more trying to inspire them. Programming is great, programming is the making of worlds by your own hands, when you code you are a small-scale god. Next, tell them about coding horror stories, team stories, pitfalls, let them think that CS learning is needed and worthy. Show them there are giants whose shoulders they can climb and reach farther than they could. The movie "Invictus" has a scene when Mandela talks to the team leader:
- Nelson Mandela: How do you inspire your team to do their best?
- Francois Pienaar: By example. I've always thought to lead by example, sir.
- Nelson Mandela: Well, that is right. That is exactly right. But how do we get them to be better then they think they CAN be? That is very difficult, I find. Inspiration, perhaps. How do we inspire ourselves to greatness when nothing less will do? How do we inspire everyone around us? I sometimes think it is by using the work of others.
Do you REALLY want to run a CAD software on a nintendo-like screen, no mouse, no keyboard? Some hardware/software combinations simply does not make sense. Just think about all the fuss about mobile websites, and that was just for screen resolutions (no, NOT for bandwidths)... Most of the times, user interfaces are projected for a particular kind of device and does NOT bode well on a different one. P.S.: No, java is NOT the answer to portability...
Production works are going to be few, but those few are going to be high-skill profiles. A CNC is easy to program (compared to standard programming languages). You can think most of the work is done by CAM programs, but it's not exactly so. Many tasks are like drill & tap 4 holes on a plate, far too simple for the kind of time you waste whipping up a CAM. A good operator that can program his machine on the fly has an edge. And boys, those kind of works ARE well payed.
Of course ARM had simplicity (=cheap) and energy efficiency goals when it ran for mobile. But, of course, you go for more goals if the run change. IMHO the next big thing, the goal Qualcomm is running for, are desktop-capable phones. You come home, attach your smartphone to a docking station with mouse/kb/monitor/whatever and there you go. No PC anymore. Microsoft already went this way some time ago, so it's hardly a surprise that they collaborate with Qualcomm on it.
CMSmatrix... you mean I have to sort through 1200 CMS, but compare only ten at a time, and can't select relevant ones by "have e-commerce?" or "when was last update/version?" or "is LAMP-compatible?" or "language used (PHP/Java/Ruby/whatever)?" or "opensource/commercial?"
No, thank you... I have better ways to waste my time...
Humans rarely think long term, even when doing a long term deal. Our reptile brain thinks "if something goes wrong I'll escape", and our mammalian brain thinks "omigosh it's so cool!"... and even if your neocortex is strong enough to win the fight, your wife has already bought that! No match! :-D
1) Cgroups-based daemon handling. 2) No XML config files, for god's sake! 3) No nested dirs/subdirs in /etc, please... keep config in one single file