[00:38:37] <_valexey_> http://www.opennet.ru/opennews/art.shtml?num=44177
[14:00:56] <geniepro> забавно, фацебоок создан в 2004 году, а домен создан ещё в 1997 году. АНБ за 7 лет зарезервировало домен для сахарберга...
[16:49:09] <valexey> Kemet: You are almost right in oberoncore thread.
[16:51:24] <valexey> Except one thing: DLL suffers from lasc of function signatures. There is no information about args types and so on. But anyway this is from C-world, not from DLL itself.
[16:51:35] <Kemet> у меня подозрение, что чуваки не погнимают разницу между модулем программный и модулем объектным
[16:51:36] <valexey> In pure C you can call any function with any arguments.
[16:51:47] <valexey> Yep.
[16:52:22] <valexey> And sometime we need something smaller then Oberon module and sometimes we need something bigger that it.
[16:53:09] <valexey> Compilation unit not always equals to source code file/unit.
[16:53:12] <Kemet> ну возможно я не точно выразился - динамическая библиотека, так вернее, а оо динамически загружаемая библиотека, ассоциируется с виндовой dll
[16:53:32] <valexey> Load/unload unit not always equals to compilation unit or sourcecode unit.
[16:54:52] <valexey> In swift language whole your project is a single module with imports and exports. Such module is too big for many cases.
[16:55:09] <Kemet> ye? ,b,kbjntrf vj;tn nfr;t cjlth;fnm jlyjdhtvtyyj rjl lkz hfpys[ wtktds[ gkfnajhv
[16:55:36] <Kemet> ну, динамическая библиотека может одновременно содержать код длЯ разных целевых платформ
[16:55:44] <valexey> I suggest that module system in Ada and Modula-3 is good enough.
[16:59:35] <valexey> Also I think that it is a good idea to have some modules as language-agnostic things.
[17:21:59] <vlad2> Да, Kemet там жжет оберонщиков. Вот до чего общение оберспэйс доводит.
[17:23:59] <vlad2> По святым местам - проверка индексов, адресная арифметика... :)
[17:34:48] <valexey> Holy places tour :-)
[18:32:49] <Kemet> ну, с учетом, что не я, а разработчики АО ввели в него небезопасные указатели , по-сути, типизированные адреса, правда, пока без арифметики, хотя может и она есть для PLAIN, я не смотрел, . возможно, в связи с отсчутсвием времени адресную арифметику и не реализовали. Причем Флориан в диссере обосновывает введение небезопасных указателей
[18:36:07] <Kemet> C.7 Unsafe Pointers
Typically, low-level Active Oberon code makes heavy use of the built-in
procedures SYSTEM.PUT, SYSTEM.GET, and variations thereof. The goal is
most often to manipulate data structures which cannot be accessed directly
using standard language features. Examples include meta data generated by
the compiler or data structures defined by the hardware.
209
C Enhancements to Active Oberon
Change: Pointer types can be annotated as UNSAFE in order to access
arbitrary memory using default language features.
Syntax: Type = ... | "POINTER" ["{" "UNSAFE" "}"] TO Type.
Semantics: A variable of type ADDRESS can be assigned to a variable
of pointer type annotated as UNSAFE. The referenced memory can
therefore be accessed as if it was mapped as a record or an array.
Unsafe pointers are not compatible with default pointer types.
Example: The stack frames of a call stack can be portably accessed by an
unsafe pointer to record:
PROCEDURE TraceCallStack*;
TYPE StackFrame = RECORD previous, caller: ADDRESS END;
VAR frame: POINTER {UNSAFE} TO StackFrame;
BEGIN
frame := ADDRESS OF frame + SIZE OF ADDRESS;
REPEAT
TRACE (frame.caller);
frame := frame.previous;
UNTIL frame = NIL;
END TraceCallStack;
[20:19:37] <valexey> "14. Хм. Много? Со статической строгой типизацией? Например?"
[20:28:01] <Kemet> угу
[20:33:19] <Kemet> GPCP это не КП! он не самостоятельный ))
[20:34:23] <vlad2> Сколько вбухано бабла в рекламу джавы, а оберонщикам по-прежнему невдомек, что она статическая и строгая. Сишный синтаксис скрывает все от обероншика, никакие маркетологи не пробьют эту завесу :)
[20:35:23] <vlad2> test
[20:36:34] <vlad2> Хотя тут конечно JS подзапутал...
[20:37:31] <Жаба> vlad2, passed
[20:39:08] <vlad2> test
[20:40:11] <Жаба> vlad2, passed
[20:46:35] <vlad2> Про C# даже не говою - там же "С" в названии.
[21:02:07] <Kemet> vlad2: https://en.wikipedia.org/wiki/C_Sharp_(programming_language) пишет что там уже всяуой хни намешали, включая динамическую типизацию
[21:05:48] <vlad2> Намешивание - это уже другая тема.
[21:15:09] <Kemet> так что там динамического?
[21:16:18] <Kemet> нашел
[21:22:21] <Kemet> https://habrahabr.ru/post/144330/
[22:49:09] <valexey> even C++ has strong static typing.
[22:49:15] <valexey> (opposite to pure C)
[22:50:05] <valexey> C++,C#, Java, Go, F#, Ocaml, Haskell, Swift, Rust, D, even sky! even Allah
[22:50:16] <valexey> Modula, Ada...
[22:50:19] <valexey> Pascal
[22:50:21] <valexey> Delphi
[22:51:15] <valexey> Scala, Kotlin
[23:01:11] <valexey> You can chose any :-)