Various dialects of Pascal, such as UCSD Pascal, provide the separate compilation unit, called UNIT, as a half-way measure in the right direction. Unfortunately, the Pascal UNIT facility (interface portion) does not allow a physical separation between specification and implementation, which are tied together in the same compilation unit.

Because the interface section and the implementation section of a Pascal compilation unit are required to be in the same physical unit, the data structure for any Pascal data type must be completely specified in the interface portion except when only one variable of such data type is to be allowed. In such a case the data structure can be hidden in the implementation portion of the compilation unit. This restriction is rather severe. For example, only one complex number variable, only one stack variable, only one string variable, only one list variable, could exist in a program at a given time. This is unrealistic in most cases.

In the Modula-2 dynamic string abstraction presented in section 1.3, each procedure contains a parameter of type string. This permits many string variables to coexist in a program. Each individual string variable may be manipulated independent of the others. The data structure for the type string is not specified in the interface unit (definition module) because of Modula-2’s opaque type facility and the separation between specification and implementation.

To allow each Pascal procedure in the interface portion of a string compilation unit to contain a parameter of type string, the data structure for string must be completely specified before the first parameter reference to type string is given. Thus the essential feature of data hiding is lost in Pascal, even with the limited facility of separate compilation available in some dialects of Pascal.

#pascal #modula-2 #modula #encapsulation #interface

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

iTunes is pretty much a galaxy unto itself these days and is in danger of collapsing into a black hole. Time to split it out.


this post has interesting ideas, for example it suggests have a human readable (let’s say json like) interface for different tools (instead of applications) to communicate with each other, and separate, let’s say, email client functionality by modules - service which receives emails, tool to view the list of emails, tool to view an exact email, and every module can be changed without affecting the other.

#itunes #applications #galaxy #black_hole #design #interface

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

Problems I have with new Sailfish interface are

— I am not sure it’s a great design decision to show time and battery information all the time. first Sailfish screen was unique in that it did not.

Time did not eat space of your home screen. It was just a “swipe away”, as they say. Because screen had space outside the phone screen. It was more like workspaces. And now sailfish home screen is more similar to any other mobile os. Congratulations, you became “just like everybody” in that regard.

— Swiping left or right to get notifications screen, yes, it’s more like Harmattan, but it makes me feel that constraints. For example, maemo interface with workspaces gave me feeling of space. In Sailfish I feel constrained. Walls, limits. No space. May be too personal. I believe getting notifications by swiping from down to up was much better idea.

— It was possible to access shortcuts (Sperrbildschirm) when the phone is not locked. Now I have to lock it and only then I can get them. It means I get my flashlight much slower than previously.

— there is no “ton an” in those settings anymore. It was there by default.

Now I did not find a way to put the system to the silent mode. I had to choose separately: no sounds for emails, for chat messages, etc. What if I want to turn all sounds on and off without going in to details every time? And it requires to go to the settings application for that. May be I just don’t orient in interfaces well, I suppose I am.

— Covers don’t work any more. May be only for me or may be I am doing something the wrong way. When I press the cover in order to move it left or right, then the whole screen moves and it can go to the notifications area. Previously if I have let’s say email application running, I could use cover action to start a new email, and if it was “notes” application I could use action in order to create new note. It was possible to stop/start players like that. I don’t know why this essential feature does not work.

— locking the device requires two gestures now. First swipe from upside down, then choose lock. Previously it was, I believe more consistent - swiping like that on an app would close it, swiping on home screen would lock it.

— less ambience?

I liked that when you got application’s icons screen first, you would still have some ambience, and only on second or third screen ambience would not be noticeable. I like the ambience idea a lot. Now I have a feeling it’s more like android, when apps don’t feel that ambience. And they are not that alive because I cannot use cover actions.

I believe it’s not about interface change. I am used to many different interfaces. It’s more about design decisions, and I feel now it looks more like regular mobile os interface, less unique.

I like some things too: Effects are not my favourite thing, but probably fade in with vignetting during unlock is a good decision, many will like it. Good decision is to change sizes of running application’s windows at some events.

#sailfish #interface #update #jolla #ambience #ux #user-experience #home #design

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

When module stays loaded and can be manipulated from the “shell” by calling so called commands, i. e. exported functions of that module. That’s very beautiful design, I believe.

#oberon #operating_systems #programming #draw #demo #shell #tui #interface #design

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

So it’s out, it’s commercially produced, it’s available. Not as outstanding as Sailfish for me, it’s more like Android, with the always present bar at the top, but still, it’s a full fledged GNU/Linux operating system. Graphics seems to be smooth, probably that’s because of Mir, on the other hand, I miss pidgin IM on Jolla, so I would like to have more banal X with GTK-2 software porting possibility. Whatever, see

BQ Aquaris E4.5 Ubuntu phone review and demo + additional thoughts

#ubuntu #ubuntu-phone #linux #gnu #gnu-linux #aquaris #review #demo #unix #qml #qt #interface #design #software

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