Inappropriate deallocation of dynamic storage is a well-known source of catastrophic program failures. In the context of nonextensible applications, such as statically linked programs, this problem can (in theory) be mastered by a careful programmer; for extensible programs, it cannot! There is always the possibility that a module may be added to a program later on; such an extension can introduce additional references to objects of which the implementor of the core modules is unaware. Therefore, Oberon neither requires nor allows explicit deallocation of dynamic storage.

source

#oberon #gc #programming #programming_languages

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

The language, however, makes veryfew assumptions about the environment. If not available from a given operating system, dynamic module loading, command invocation, and automaticgarbage collection can be introduced by a small run-time system. In principle, it is possible to forego dynamic loading and to create traditional, staticallylinked applications, but this is anachronistic for the challenges of today’s software systems. Automatic garbage collection is indispensable for reliable,extensible software systems and is probably the biggest culture clash between Oberon and other compiled languages such as Pascal, C, or C++.

source

#oberon #gc #programming #programming_languages

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

The language, however, makes veryfew assumptions about the environment. If not available from a given operating system, dynamic module loading, command invocation, and automaticgarbage collection can be introduced by a small run-time system. In principle, it is possible to forego dynamic loading and to create traditional, staticallylinked applications, but this is anachronistic for the challenges of today’s software systems. Automatic garbage collection is indispensable for reliable,extensible software systems and is probably the biggest culture clash between Oberon and other compiled languages such as Pascal, C, or C++.

source

#oberon #gc #programming #programming_languages

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

Programming makes me think that people value the things they do because they were hard, not because they were useful. Once I master the hard thing, I’m proud of myself and find it easy to forget that perhaps that damn thing should not have been so hard in the first place. Probably true for a lot of human activities. Stuff should simply be easier, that is all.

source

because author’s toots expire, i want to put it here. #programming

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

Why I use Object Pascal https://dubst3pp4.github.io/post/2017-10-03-why-i-use-object-pascal/

#pascal #programming #article #object_pascal #design

first of all, the article does not mention the most important thing - modules. pascal has modules. modules were introduced to c++ just in 2017. modules are why you can have type checks across boundaries of modules.

and pascal units are modules. if they do those loadable on demand, that would be cooler.

Pascal is very strict, so the programmer has to differ between subroutines that return values, in Pascal called functions, and subroutines that does not return something, called procedures. Functions and procedures can also be passed to variables or other functions thanks to procedural types.

well, in pascal successors the function keyword removed, leaving just one procedure, or to be precise PROCEDURE because Wirth decided to make successor languages case sensitive and decrease the number of lexems.

It is possible to overload operators for specific types. With this feature, you have the power to define, let’s say, the result of the addition operation of two or more instances of the same class.

That’s one of the reasons why Wirth doesn’t like modern pascal implementations. The author tries to say - Pascal has all the features, while Wirth was trying to create a minimalistic language by following “less is more” principle.

Pascal is modular

okay, he said this. but did not connect to the type checks.

Pascal has good documentation

indeed, freepascal.org documentation is good, understandable and comprehensive.

well, for me Pascal today is like ‘better c++’, but why would i need better c++ if i have Oberon?

i will use it to write gui applications, or if i need to write something very fast and i don’t have libraries for Oboren and time to create libraries or bindings.

#pascal #oberon #modula-2 #wirth #design

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)

i was searching for vector ui libraries, and would like to understand, whether it is a good idea today, and found this library, so cute and nice. https://littlevgl.com/ not what i was searching at all, i was searching for a desktop library.

some video from their site:

#programming #technologies #it #embedded #gui #library

btw, firemonkey started as a vector gui library (was called vgscene back then), then got purchased by embarcadero, and now it is a raster library, probably for performance reasons.

բնօրինակ սփիւռքում(եւ մեկնաբանութիւննե՞ր)