User talk:Dmitry-kazakov

From Rosetta Code

Language Table

I was thinking about adding a "parameter passing methods available" column to the big language table. If I do, it should probably have an informational article to go with it. Do you think you're up for it? --Mwn3d 03:30, 23 July 2008 (UTC)

I'll try. --Dmitry-kazakov 07:18, 23 July 2008 (UTC)


binary mode

About the problem you talk about on the ppm output article, I am used to see that it is possible to open a file in binary mode on your OS.
Isn't it possible with this programming language ? Blue Prawn 11:28, 7 December 2008 (UTC)

It is OS-specific too. In earlier times, when OS was an OS (:-)), there was RSX-11, for example. It didn't have text files in MS-DOS or UNIX sense. There were record files instead. Each line was stored into a record. The advantage was that a line could contain any characters and LF, CR or NUL had no special meaning.
I will rewrite Ada solution in order to make it more portable, but I am afraid the problem with it and other solutions as well will persist. Because if we used binary in the sense stream of characters, then we would have to specify a few more things to make it portable:
  • character is? (octet of bits)
  • line terminator in the file header is? (ASCII LF for example)
  • EOF is? (ASCII LF, NUL, nothing)
And well, PPM isn't our fault... (:-)) --Dmitry-kazakov 12:17, 7 December 2008 (UTC)
Binary mode also makes sense a lot of the time on Windows, where for text files the end of line is a multibyte symbol and there is an end-of-file symbol (^Z, which happens to be the official ASCII EOF character). By comparison, (linear) binary files are just a sequence of bytes. Then there's record-oriented files, but they're seriously out of favor these days; people use proper transactional databases like sqlite instead. —Donal Fellows 12:03, 17 August 2009 (UTC)
I agree that handling text files in binary mode is easier under Windows. But let's do not forget, that the reason for that is that Windows text files are broken. Nobody cares if the conventions of text files, because these are not enforced. And they are not enforced because you can open a text file in binary mode and converse. A properly designed file system would never allow this. Guess what would happen if somebody opened database files as texts? --Dmitry-kazakov 08:53, 19 August 2009 (UTC)

exception propagation in Ada.

In Ada's Rendezvous what do these lines do:

        exception
           when Out_Of_Ink =>
              null;
        end;

They look like they are masking/ignoring the Out_Of_Ink exception.

Yes, this is on the server side. When an exception is propagated out of an entry point, that happens both on the server and the client sides. In our case the server just ignores it. The client ends. --Dmitry-kazakov 08:32, 19 February 2009 (UTC)

Whereas program appears to propagate Out_Of_Ink back to Mother_Goose. e.g.

                       requeue Backup.Print with abort;

Is that because of the with abort?

with abort means that it is allowed for the client to cancel the rendezvous request while it waits in the queue of Backup. If Mother_Goose have used a timed entry call:

<lang ada> select Main.Print (...); or delay 5.0; Put_Line ("No response from the printer"); end select; </lang>

then if the rendezvous to Backup would not engaged in 5 seconds (including the waiting time for Main) then it would output "No response from the printer". --Dmitry-kazakov 08:32, 19 February 2009 (UTC)

Also: when the task is requeued, does the Main printer suspend waiting for Backup to finish? (Or is the exception propagated directly back from Backup to Mother_Goose without passing through Main)

No, the server Main continues when the entry point body is left, the client (say Mother_Goose) stay blocked and waits now for the new server Backup to service the rendezvous. --Dmitry-kazakov 08:32, 19 February 2009 (UTC)

Cheers.... a lot going on in that lil'ol bit of code especially the exception handling.

Many thanX for something to chew on.

NevilleDNZ 11:24, 19 February 2009 (UTC)

Possible reason for Dmitry's sparse activity lately

He is playing hockey in the NHL for the Detroit Red Wings under the name Pavel Datsyuk. Compare:

Dmitry: [1]
Datsyuk: [2]

--Mwn3d 03:40, 17 March 2011 (UTC)