>Hoare’s friend, Edsger Dijkstra, pointed out that a null pointer reference could be a bad idea. Comparing a null pointer reference to a promiscuous adulterer he noted that the null assignment for every bachelor represented in an object structure “will seem to be married polyamorously to the same person Null”.
>Regardless, Hoare chose the ability to run code quickly over safety checks. Introducing null opened the possibility to allow programs to compile and crash on runs, allow memory leaks, and worse, cause security issues in the code. But it wasn’t until C’s get methods that allowed early viruses to infiltrate by overwriting the return values of the code—essentially teaching the world how to write malware.
https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare >Null references have historically been a bad idea >Early compilers provided opt-out switches for run-time checks, at the expense of correctness >Programming language designers should be responsible for the errors in programs written in that language >Customer requests and markets may not ask for what’s good for them; they may need regulation to build the market >If the billion dollar mistake was the null pointer, the C `gets` function is a multi-billion dollar mistake that created the opportunity for malware and viruses to thrive
The biggest problem in programming is that programming languages are compiled, programming languages need to run without compilation.
Accomplishing this would allow programmers to parse multiple raw written methods into a function, which the function can then execute without complexity issues which require constant resolution.
After accomplishing this step, programming languages need a better data structure which encompasses maximum performance of all aspects. A global data structure which is not limited by an arbitrary size, there is only 1 size on the computer and that is total storage space, hence that is the only aspect that defines the size of storage on a machine not an arbitrary limit technical limit which can be overcome.
After building such a data structure, the recreation of the chars and text data systems can be easily made to fit such a core system and various methods for backwards compatibility for these old systems can be made if the core data type is not efficient.
Large data methods which interact with guis, website interaction, string pattern manipulation, video manipulation, audio manipulation, etc would need to be remade.
Backwards compatibility for previous programs in pre-existing systems must also be built.
This being the systems which process text and interact with servers on the internet.
After making such a system which runs on assembly, but is just pure methods on a machine which does not require compilation, only then should we continue programming as the capabilities of such a system would exceed current systems by allowing an array of better technical methods like computed goto, the simplicity of such a system would be as simple as a single data type for all programming languages, the lack of limitations to size would allow immense number sizes without floats and other numbers and the simplicity of such a system would allow pre-existing programs which span thousands of lines of code to be written in 20 lines of code.
The current thousand line code programs are working around the same problem in programming again and again but on a much higher level than they should be solving such a problem, hence the true problem is never resolved, the problem being an efficiency technical issue which is identified all the time by programmers as: inefficiency, not easy to read, complex, time consuming to write, etc, etc.
None
fpbp and /thread
Choose one homosexual
but he did
nullable types
>nullable types
this, having nullable T be a different type from T is what matters
so a sum type basically?
null values simply shouldn't exist
they don't exist
that's the whole point
(void *)0
>
''
>Hoare’s friend, Edsger Dijkstra, pointed out that a null pointer reference could be a bad idea. Comparing a null pointer reference to a promiscuous adulterer he noted that the null assignment for every bachelor represented in an object structure “will seem to be married polyamorously to the same person Null”.
>Regardless, Hoare chose the ability to run code quickly over safety checks. Introducing null opened the possibility to allow programs to compile and crash on runs, allow memory leaks, and worse, cause security issues in the code. But it wasn’t until C’s get methods that allowed early viruses to infiltrate by overwriting the return values of the code—essentially teaching the world how to write malware.
https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare
>Null references have historically been a bad idea
>Early compilers provided opt-out switches for run-time checks, at the expense of correctness
>Programming language designers should be responsible for the errors in programs written in that language
>Customer requests and markets may not ask for what’s good for them; they may need regulation to build the market
>If the billion dollar mistake was the null pointer, the C `gets` function is a multi-billion dollar mistake that created the opportunity for malware and viruses to thrive
So even Dijkstra used women for programming analogies...
zilch
None, simple as.
Option<NonNull<T>> has the exact same layout as *T, but exposes it as an optionally checked interface, completely eliminating accidental null derefs
nil>null>NULL>None>undef
>zilch
>zip
Consider the following: Nope
null is king
nowayfag
datatype 'a option = NONE | SOME of 'a
null.
Anything other than
>nil
is what ESLs and obese idiots, or simply mentally retarded folk, use.
Nothing is clearly the superior alternative
The biggest problem in programming is that programming languages are compiled, programming languages need to run without compilation.
Accomplishing this would allow programmers to parse multiple raw written methods into a function, which the function can then execute without complexity issues which require constant resolution.
After accomplishing this step, programming languages need a better data structure which encompasses maximum performance of all aspects. A global data structure which is not limited by an arbitrary size, there is only 1 size on the computer and that is total storage space, hence that is the only aspect that defines the size of storage on a machine not an arbitrary limit technical limit which can be overcome.
After building such a data structure, the recreation of the chars and text data systems can be easily made to fit such a core system and various methods for backwards compatibility for these old systems can be made if the core data type is not efficient.
Large data methods which interact with guis, website interaction, string pattern manipulation, video manipulation, audio manipulation, etc would need to be remade.
Backwards compatibility for previous programs in pre-existing systems must also be built.
This being the systems which process text and interact with servers on the internet.
After making such a system which runs on assembly, but is just pure methods on a machine which does not require compilation, only then should we continue programming as the capabilities of such a system would exceed current systems by allowing an array of better technical methods like computed goto, the simplicity of such a system would be as simple as a single data type for all programming languages, the lack of limitations to size would allow immense number sizes without floats and other numbers and the simplicity of such a system would allow pre-existing programs which span thousands of lines of code to be written in 20 lines of code.
The current thousand line code programs are working around the same problem in programming again and again but on a much higher level than they should be solving such a problem, hence the true problem is never resolved, the problem being an efficiency technical issue which is identified all the time by programmers as: inefficiency, not easy to read, complex, time consuming to write, etc, etc.