There's a difference. CompCert/Verified C is concerned with formally verifiable source code and provably correct compilation, which means pointers are bad.
CheckedC doesn't do any of the above, it is only a secure pointer system. Microsoft's Z3 handles formal verification.
A Microsoft extension that isn't evil. I'm suspicious. For pointers, Hoard and DieHard are pretty decent malloc alternatives, and smalloc and secmalloc, have their fans, but provable security and robustness would help a lot.
I'd want an independent comparison before I'd trust Microsoft on this, but if it is shown to be good, I'm willing to concede that - like Smeagol - there's a tiny corner of good in that vast blackness of Gollum.
So would I be correct in thinking that www.example.com and example.www.com would show up identically? That would be a problem, as example.com and www.com are totally different organizations, not just different parts of the same.
You could say that of planet Earth. Or, indeed, reality. As Descartes pointed out.
In the end, science isn't about Truth, it's about hypothesis. And all you need for that is data, a model and a means to falsify. Sunglasses and a full tank of gas are optional extras.
What you are asking for has nothing to do with science. Science doesn't ask what is, it asks what we can predict given what we know.
No, we're not. To qualify, a person must believe they're not competent with clear indication that they are in fact competent. It has to be irrational and baseless, and it has to negate actual successes not fake ones.
Ok, I'm oh approaching 50, and no, strongly typed is the correct term.
And, no, if programs were written for people, we'd be using 4th and 5th generation languages, not 3rd, and the most popular 3rd gen would be D, not Java.
Harkening back... so you're saying there was an Eiffelscript? Because I sure as hell have never said anything nice about the old days.
There's only one thing that proves one coder better than another -- the ability to learn something new. For every other metric you can think of, there'll be just as many contexts that expect an opposite result and far far more that don't care at all. Learning is the one universal trait.
I'm not "better" (or worse) because of what I know, that's luck of the draw and nothing to do with me. If I'm better, it's because I don't restrict myself to someone else's wisdom.
Well, the list wouldn't include FreeBSD or OpenBSD as they're not that popular, VxWorks and QNX are RTOS and outside scope, Android is Linux, Symbiant is dead, LynxOS is too specialized to be Big Three, CapROS is a research OS nobody uses, ditto for Inferno, Open Solaris barely exists, IRIX is dead, Minix is a research OS, I'm running out of names.
We can exclude SEL4, HURD, SunOS, OSF/1. HP/UX is unlikely to be on as many installs as NetBSD. EROS is extinct. eCos seems to be also. Sugar isn't an OS and seems pretty dead. z/OS is limited to IBM mainframes, wonder how those compare to hobbyists and data centres. Last time I used VMS was in the 90s, ditto whatever the PDP-11 used.
Whatever else Netcraft might confirm, the competition for third spot isn't fierce.
Looks like anything FreeBSD can do, Haiku can, with a little tweaking. So if your hw has FreeBSD drivers, you can mod them to Haiku. Don't be afraid to get your hands dirty, it's really no worse than writing mods for Minecraft.
The OS market has shriveled over the years, research OS' aren't contributing much to the scene and the Big Three (Windows, Linux, NetBSD) are showing signs of stagnation.
The list is compiled from a restricted pool and lists popularity.
That may mean a vendor throwing out ten individually packaged Python scripts counts as ten sources with one C program of equalling counts as one. If that's the case, Python would be ten times as popular in the stats whilst being equally popular in practice.
So if Python needed ten times as many modules to be as versatile, it would seem popular whilst only being frustrating.
The fact is, we don't know their methodology. We don't know if they're weighting results in any way to factor in workarounds and hacks due to language deficiency that might show up as extra use.
We do know they don't factor in defect density, complexity or anything else like that as they do say that much. So are ten published attempts at a working program worth ten times one attempt in a language that makes it easy first time? We will never know.
That advocated a language. Languages shift faster than sand on speed. Universities should teach logic, reasoning, methodology, good practices and programming technique.
Languages should be for the purpose of example only. Universities should teach programming, not Java, software engineering, not Python. Java and Python should be in there, yes, along with Perl, C and Ada. Syntax is just sugar over the semantics. Learn the semantics well and the syntax is irrelevant. You want universities to teach kids how to program not only tomorrow but in 40 years. Trust me, Python 3 won't be used in 40 years.
This stupidity has happened before, when Cobol and Fortran were the in thing. Last forever, they thought. Nothing will replace them. Most programmers of that generation either spent a fortune relearning, because they'd learned syntax and not programming or retired, broke and penniless with a huge mortgage and no value.
Static typing isn't just about clarity to the programmer. In strict typing languages, the rule is to use the type that matches the range that actually applies. This is to help testing (something coders should not ignore), automated validation, compilation (a compiler can choose sensible values, optimise the code, etc etc etc) and maintainers (a clear variable name won't tell anyone if a variable's range can be extended without impacting the compiled code).
Besides, I've looked at Python code. I'm not convinced their idea of a good variable name is in any way related to mine.
I have no problem with Python, it's ideal for many cases, but dismissing obviously poorly understood reasons is not a valid reason for using it. Either understand the reasons and give a valid counter, or accept that different languages suit different needs.
Someone who helps fix things can be seen as competent or a busybody, depending on politics and the phase of the moon.
Besides which, I'd argue that helping makes a person look big and indispensable, which is not the same as being either. Politicians can look indispensable, they're great at it. What they are not is useful. And yet they're the ones called on. If being useful meant anything, Linus Torvalds would run Google and a write-in vote would have made Richard Stallman president. Neither happened because being useful isn't the same as being seen to be useful.
Being seen is never useful.
A truly useful person never puts out fires. In the background, they've already ensured most fire vectors can't arise. No fires ever happen. And management will never know why. THAT is your most competent person. The one you never realise is competent.
A definition that does not define isn't much of a definition.
We know they're planets, because of their density, temperature, size, absorption spectrum, etc.
An object that is 16x the size of Jupiter, is in tight orbit around its sun and has an atmosphere is probably not an asteroid or a comet by any remotely useful definition of either.
A rocky planet that is 1.2x the size of Earth and has a high mass is self-evidently not a dwarf planet or a comet.
They're not spaceships and they're not stars.
This limits your choices.
We're a long way past star wobble, these things have been imaged, we can do spectral analysis.
Our solar system seems to be anomalous, so I'd ignore it as a reference. Science is cluttered with examples of folly due to presuming a special case to be a general rule.
In C, there's a basis. It's near machine level and machines don't see data types. Types in C are a sugar to make life easier.
JavaScript is not machine level. It has no excuse. Same goes for Python.
Once you go past the very low level, you should have strongly typed languages because type means something then. It's a real thing that's independent of the machine.
It would be interesting to see an Adascript or an Eiffelscript.
But Microsoft's attempt to embrace, extend and extinguish makes me want to defend it. Just not enough to do so.
Tcl was once a rival to JavaScript. There was a plugin for Netscape when it was at peak fame and JavaScript was still relatively unknown that allowed you to run client-side Tcl scripts in web pages. It would have been a lot better, in some respects, but Tcl isn't a terribly stable language and the plugin got no traction.
Still, you'd have far better code today.
JavaScript does serve some purpose, although HTML5 now includes tags for some of the functions.
Part of why it did succeed was that it Just Worked(tm), unlike applets.
If early applets had been secure, as fast as JavaScript and able to push HTML to the browser page, this conversation would not be happening. Sun screwed up badly with applets. Too much bad press and too many performance issues.
JavaScript isn't that much better. It's still slow and it's still dogged by security problems. But they're at an acceptable level for many. It's tolerable defective.
Still, there's nothing out there that can compete. Since the Tcl attempt, I've seen no serious effort to embed other scripting languages in browsers. You'd need Mozilla, Google and Safari to agree on one to get any traction now and they don't agree on the time of day.
Angsty nerds are likely to check their work, apply good methodology, document and test, because they know they can make mistakes. Those are GOOD programmers.
What you don't want are the Microsoftists who check nothing, who get fixated on this better crap and who end up endangering lives (and killing everyone on board the occasional airliner) because they absolutely have confidence and fixes will be in the next patch anyway.
There's a difference. CompCert/Verified C is concerned with formally verifiable source code and provably correct compilation, which means pointers are bad.
CheckedC doesn't do any of the above, it is only a secure pointer system. Microsoft's Z3 handles formal verification.
A Microsoft extension that isn't evil. I'm suspicious. For pointers, Hoard and DieHard are pretty decent malloc alternatives, and smalloc and secmalloc, have their fans, but provable security and robustness would help a lot.
I'd want an independent comparison before I'd trust Microsoft on this, but if it is shown to be good, I'm willing to concede that - like Smeagol - there's a tiny corner of good in that vast blackness of Gollum.
So would I be correct in thinking that www.example.com and example.www.com would show up identically? That would be a problem, as example.com and www.com are totally different organizations, not just different parts of the same.
You could say that of planet Earth. Or, indeed, reality. As Descartes pointed out.
In the end, science isn't about Truth, it's about hypothesis. And all you need for that is data, a model and a means to falsify. Sunglasses and a full tank of gas are optional extras.
What you are asking for has nothing to do with science. Science doesn't ask what is, it asks what we can predict given what we know.
Autism is not a disorder. Neurotypicals are the dysfunctional ones, we're fine.
If they're frauds, it's not imposter syndrome.
Imposter syndrome requires you have verifiable successes that you negate and discount and verifiable ability you deny. Fakes have neither.
Pretty much we are. The human brain functions best when paired with a computer, it's a mess in isolation.
No, we're not. To qualify, a person must believe they're not competent with clear indication that they are in fact competent. It has to be irrational and baseless, and it has to negate actual successes not fake ones.
Vax mail had a bug, whereby you could put shell script in the subject line.
Otherwise, yes, it was a great system. I think it was rated B2 on security.
Ok, I'm oh approaching 50, and no, strongly typed is the correct term.
And, no, if programs were written for people, we'd be using 4th and 5th generation languages, not 3rd, and the most popular 3rd gen would be D, not Java.
Harkening back... so you're saying there was an Eiffelscript? Because I sure as hell have never said anything nice about the old days.
There's only one thing that proves one coder better than another -- the ability to learn something new. For every other metric you can think of, there'll be just as many contexts that expect an opposite result and far far more that don't care at all. Learning is the one universal trait.
I'm not "better" (or worse) because of what I know, that's luck of the draw and nothing to do with me. If I'm better, it's because I don't restrict myself to someone else's wisdom.
Very good, but there are purists around. Can you add a verse with a flower and a season?
NetBSD is very popular for mailservers due to its stability and performance under load.
Well, the list wouldn't include FreeBSD or OpenBSD as they're not that popular, VxWorks and QNX are RTOS and outside scope, Android is Linux, Symbiant is dead, LynxOS is too specialized to be Big Three, CapROS is a research OS nobody uses, ditto for Inferno, Open Solaris barely exists, IRIX is dead, Minix is a research OS, I'm running out of names.
We can exclude SEL4, HURD, SunOS, OSF/1. HP/UX is unlikely to be on as many installs as NetBSD. EROS is extinct. eCos seems to be also. Sugar isn't an OS and seems pretty dead. z/OS is limited to IBM mainframes, wonder how those compare to hobbyists and data centres. Last time I used VMS was in the 90s, ditto whatever the PDP-11 used.
Whatever else Netcraft might confirm, the competition for third spot isn't fierce.
It's open source and thus, by definition, supports whatever you want it to. Same thing we said when Linux came out.
https://dev.haiku-os.org/wiki/...
Looks like anything FreeBSD can do, Haiku can, with a little tweaking. So if your hw has FreeBSD drivers, you can mod them to Haiku. Don't be afraid to get your hands dirty, it's really no worse than writing mods for Minecraft.
The OS market has shriveled over the years, research OS' aren't contributing much to the scene and the Big Three (Windows, Linux, NetBSD) are showing signs of stagnation.
The list is compiled from a restricted pool and lists popularity.
That may mean a vendor throwing out ten individually packaged Python scripts counts as ten sources with one C program of equalling counts as one. If that's the case, Python would be ten times as popular in the stats whilst being equally popular in practice.
So if Python needed ten times as many modules to be as versatile, it would seem popular whilst only being frustrating.
The fact is, we don't know their methodology. We don't know if they're weighting results in any way to factor in workarounds and hacks due to language deficiency that might show up as extra use.
We do know they don't factor in defect density, complexity or anything else like that as they do say that much. So are ten published attempts at a working program worth ten times one attempt in a language that makes it easy first time? We will never know.
That advocated a language. Languages shift faster than sand on speed. Universities should teach logic, reasoning, methodology, good practices and programming technique.
Languages should be for the purpose of example only. Universities should teach programming, not Java, software engineering, not Python. Java and Python should be in there, yes, along with Perl, C and Ada. Syntax is just sugar over the semantics. Learn the semantics well and the syntax is irrelevant. You want universities to teach kids how to program not only tomorrow but in 40 years. Trust me, Python 3 won't be used in 40 years.
This stupidity has happened before, when Cobol and Fortran were the in thing. Last forever, they thought. Nothing will replace them. Most programmers of that generation either spent a fortune relearning, because they'd learned syntax and not programming or retired, broke and penniless with a huge mortgage and no value.
Static typing isn't just about clarity to the programmer. In strict typing languages, the rule is to use the type that matches the range that actually applies. This is to help testing (something coders should not ignore), automated validation, compilation (a compiler can choose sensible values, optimise the code, etc etc etc) and maintainers (a clear variable name won't tell anyone if a variable's range can be extended without impacting the compiled code).
Besides, I've looked at Python code. I'm not convinced their idea of a good variable name is in any way related to mine.
I have no problem with Python, it's ideal for many cases, but dismissing obviously poorly understood reasons is not a valid reason for using it. Either understand the reasons and give a valid counter, or accept that different languages suit different needs.
Absolutely. It's probably one of the stupider reasons the IAU put out.
...Patrick Moore playing the xylophone.
Someone who helps fix things can be seen as competent or a busybody, depending on politics and the phase of the moon.
Besides which, I'd argue that helping makes a person look big and indispensable, which is not the same as being either. Politicians can look indispensable, they're great at it. What they are not is useful. And yet they're the ones called on. If being useful meant anything, Linus Torvalds would run Google and a write-in vote would have made Richard Stallman president. Neither happened because being useful isn't the same as being seen to be useful.
Being seen is never useful.
A truly useful person never puts out fires. In the background, they've already ensured most fire vectors can't arise. No fires ever happen. And management will never know why. THAT is your most competent person. The one you never realise is competent.
A definition that does not define isn't much of a definition.
We know they're planets, because of their density, temperature, size, absorption spectrum, etc.
An object that is 16x the size of Jupiter, is in tight orbit around its sun and has an atmosphere is probably not an asteroid or a comet by any remotely useful definition of either.
A rocky planet that is 1.2x the size of Earth and has a high mass is self-evidently not a dwarf planet or a comet.
They're not spaceships and they're not stars.
This limits your choices.
We're a long way past star wobble, these things have been imaged, we can do spectral analysis.
Our solar system seems to be anomalous, so I'd ignore it as a reference. Science is cluttered with examples of folly due to presuming a special case to be a general rule.
In C, there's a basis. It's near machine level and machines don't see data types. Types in C are a sugar to make life easier.
JavaScript is not machine level. It has no excuse. Same goes for Python.
Once you go past the very low level, you should have strongly typed languages because type means something then. It's a real thing that's independent of the machine.
It would be interesting to see an Adascript or an Eiffelscript.
But Microsoft's attempt to embrace, extend and extinguish makes me want to defend it. Just not enough to do so.
Tcl was once a rival to JavaScript. There was a plugin for Netscape when it was at peak fame and JavaScript was still relatively unknown that allowed you to run client-side Tcl scripts in web pages. It would have been a lot better, in some respects, but Tcl isn't a terribly stable language and the plugin got no traction.
Still, you'd have far better code today.
JavaScript does serve some purpose, although HTML5 now includes tags for some of the functions.
Part of why it did succeed was that it Just Worked(tm), unlike applets.
If early applets had been secure, as fast as JavaScript and able to push HTML to the browser page, this conversation would not be happening. Sun screwed up badly with applets. Too much bad press and too many performance issues.
JavaScript isn't that much better. It's still slow and it's still dogged by security problems. But they're at an acceptable level for many. It's tolerable defective.
Still, there's nothing out there that can compete. Since the Tcl attempt, I've seen no serious effort to embed other scripting languages in browsers. You'd need Mozilla, Google and Safari to agree on one to get any traction now and they don't agree on the time of day.
No, I disagree.
Angsty nerds are likely to check their work, apply good methodology, document and test, because they know they can make mistakes. Those are GOOD programmers.
What you don't want are the Microsoftists who check nothing, who get fixated on this better crap and who end up endangering lives (and killing everyone on board the occasional airliner) because they absolutely have confidence and fixes will be in the next patch anyway.