I know that strings are represented as arrays of bytes (or chars) but I see no reason for not making strings an integral part of the language. One can still access individual characters or even cast it to an array of bytes if this is needed (encryption algorithms that do numerical operations on the ascii values, etc.), but for most other uses I want to just use them on a higher level of abstraction and let the runtime library care about the details of memory allocation, copying and reference counting, the string routines in the runtime library are written in hand crafted assembler but I don't need to know this for using it.
Pascal is just as low level as C (you can do everything you can do in C, you can even seamlessly mix in assembler statements), but it provides a higher degree of type safety by default (the compiler is very strict an will complain more often and unorthodox typecasts and pointer arithmetic must be explicitly declared) and it has more powerful language constructs for often needed things like strings and arrays, so you are not forced (or even encouraged) to go to the lowest level when you don't want or need to do so.
I use Pascal (Free Pascal) for most things where other people use C++ and I'm very happy with it. I haven't yet missed one single feature.
Dislikeda few things. the point of C is that it's a half-way point between ASM and higher languages like VB and Pascal etc.Ignored
I use Pascal (Free Pascal) for most things where other people use C++ and I'm very happy with it. I haven't yet missed one single feature.