3 ms·
> the big difference between C , C++, Objective-C and all the remaining system programming languages since JOVIAL and NEWP, is the explicit unsafe code blocks t
by jhgb 5y ago
> the big difference between C , C++, Objective-C and all the remaining system programming languages since JOVIAL and NEWP, is the explicit unsafe code blocks that make that visible.
Would you consider Oberon to belong in the former or latter category? On one hand, there's no explicit code blocks as such (syntactically). On the other hand, unsafe primitive operations are limited to the SYSTEM module, so functions calling operations in the SYSTEM module can be considered doing unsafe things.
- pjmlp 5y agoIf you read Oberon documentation, modules importing SYSTEM are tainted and considered unsafe. Just like Modula-2 already does it.
- jhgb 5y agoWell...that's what I meant. But which one is it, then?
- pjmlp 5y agoJust like the languages that have unsafe code blocks it is relatively easy to track down unsafe modules, same thing. And just like languages with unsafe code blocks, there are compilers that have switches to forbid the use of tainted modules unless explicitly allowed. In any case, way better than what C, C++ and Objective-C offer, regarding security per line of code.