A A A A Автор Тема: Какой язык программирования учить  (Прочитано 5123 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Karagy

  • *****
  • Сообщений: 1 839
  • Благодарностей: 62
    • Сообщения от Karagy
Re: Какой язык программирования учить
« Ответ #200 : 05 Дек 2025 [22:55:28] »
D
Даже есть русскоязычная группа https://t.me/dlangru

Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #201 : 05 Дек 2025 [23:06:15] »
Мало понятно откуда в теме про програмирование для любительской астрономии (ну и даже научной) безпрерывно вспоминают уже давно ушедшие от науки и учебы вузы.
Тема не про программирование.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #202 : 05 Дек 2025 [23:15:55] »
sh + grep + sed + /bin/* + vi + make + cc + ... вполне.
Практически не пользовался sed и сс. Кросс-компиляторы gcc собирал многократно - с архитектуры на архитектуру.
В 21-м веке всем хочется readline, autocompletion и вот это вот все.
Это было и в 90-е - я про bash.
IDE не надо сравнивать с vi, сравнивайте с расширяемой средой типа emacs,
Кому emacs был избыточен, написали joe, vim. А где сейчас тот Borland?
Где Борланд ? - да практически во всех современных редакторах - от Notepad++ до IDE - комбинация клавиш и подсветка кода - именно Борланд в своих IDE популяризовал это.
А вот где emacs ? Что-то давно не слышал о нем. Народ даже на том же линуксе ставит JB или другую IDE, или в крайнем случае редакторы с поддержкой подсветки кода.
 
На 1011 ОЗУ было не менее 1М
Не было на 1011 физически никогда столько ОЗУ - только 64\128К - там вообще память была на ферритовых сердечниках.

Без ~1M RAM врядли.
Без 1М ОЗУ тогда работали в 70-е, на ферритовых ОЗУ. Просто программы маленькие были и своп.

Онлайн Ph_user

  • *****
  • Сообщений: 3 163
  • Благодарностей: 83
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #203 : 05 Дек 2025 [23:52:04] »
Тема не про программирование.

Исходя из понимания слов в первом посте " астрономия (научная деятельность) на 90% состоит из программирования. " тема про астрономию и научные дела. А учебные конторы даже по смыслу конторы только учат вместо астрономии и науки. Ну искать мясо по низкой цене из проходных учеников они себе могут на выработку показухи чтобы получать больше дохода - но это опять же про другое. Но здесь же про самостоятельную астрономию и науку. Готовить програмиста чтобы его использовали хозяева вуза для своих дел тут может быть мало сообразно.

Самостоятельный научный астроном может реально иметь свою научную контору (и даже должен вместо отсидки срока еще и в вузе) и даже конкурировать за общественое бабло с вузами. Вместо капитуляции заранее и похода мелким исполнительным програмистом под вуз за миску похлебки и обещания.

Если бы какой-нить там Илон Маскович сидел бы щас програмил на питоне под *хорошим научным руководителем* он мало имел бы времени делать индустрию для полета на другие планеты. Ну получил бы когда-нить кандидатский левел и прибавку к пайке.

У более нормально идущих к успеху в 10класе уже может быть вопрос к папе *а как будет название моего научного центра в моем городе ?*. Ну и академиков наук плохо могущих в науку будут плохо брать на работу его работники отдела кадров.
« Последнее редактирование: 06 Дек 2025 [00:01:50] от Ph_user »

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #204 : 06 Дек 2025 [00:42:28] »
Современные языки в массе своей - ад кромешный.
Если их и учить, то никак не первым языком. Начинающему надо разобраться вообще с программированием и при этом не вывихнуть себе мозги.
Смотря что программировать, если микропроцессоры, то да, там всё повязано на архитектуру и особенности операционной системы, а многие проблемы в астрономии решаются путём сборки из уже готовых решений задач. И код проекта получается не слишком сложным.
Вот пример кода вьюера на С++ для просмотра изображений, например, астрономических сферических панорам, код вполне читабельный и без комментариев, что обычно редко встречается у сишников. Хотя они обычно привыкли писать всё в нижнем регистре, чтобы никто ничего не понял и не стырил код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <tchar.h>
#include <math.h>
#pragma hdrstop

#include "fcPanoViewer.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "GLS.Objects"
#pragma link "GLS.Scene"
#pragma link "GLS.Texture"
#pragma link "GLS.SceneViewer"
#pragma link "GLS.BaseClasses"
#pragma link "GLS.Coordinates"

#pragma link "GLS.Material"
#pragma link "Stage.Keyboard"
#pragma resource "*.dfm"
TFormPanorama* FormPanorama;

//---------------------------------------------------------------------------
__fastcall TFormPanorama::TFormPanorama(TComponent* Owner) : TForm(Owner) {}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TFormPanorama::FormCreate(TObject* Sender)
{
  Path = GetCurrentAssetPath();
  SetCurrentDir(Path + "\\panorana");
  OpenPictureDialog->InitialDir = Path + "\\panorama";
  OpenPictureDialog->FileName = "sejourstmathieu2048.jpg";
}

void __fastcall TFormPanorama::BtnLoadClick(TObject* Sender)
{
if (OpenPictureDialog->Execute())
GLMaterialLibrary->Materials->Items[0]
->Material->Texture->Image->LoadFromFile(
OpenPictureDialog->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TFormPanorama::TrackBarFocalChange(TObject* Sender)
{
Camera->FocalLength = TrackBarFocal->Position;
}

//---------------------------------------------------------------------------
void __fastcall TFormPanorama::GLCadencerProgress(
TObject* Sender, const double deltaTime, const double newTime)
{
const int step_size = 20;
float delta;
float dx, dy;
delta = step_size * 40 / Camera->FocalLength * deltaTime;
dx = 0;
dy = 0;
if (IsKeyDown(VK_LEFT))
dx = dx + delta;
if (IsKeyDown(VK_UP))
dy = dy + delta;
if (IsKeyDown(VK_RIGHT))
dx = dx - delta;
if (IsKeyDown(VK_DOWN))
dy = dy - delta;
PanCameraAround(dx, dy);
}
//---------------------------------------------------------------------------
void __fastcall TFormPanorama::FormKeyDown(
TObject* Sender, WORD &Key, TShiftState Shift)
{
Key = 0; // all keys handled by FormPanorama
}
//---------------------------------------------------------------------------
void TFormPanorama::PanCameraAround(float dx, float dy)
{
pitch = pitch + dy;
yaw = yaw - dx;

if (pitch > 90)
pitch = 90;
if (pitch < -90)
pitch = -90;
if (yaw > 360)
yaw = yaw - 360;
if (yaw < 0)
yaw = yaw + 360;

Camera->Up->SetVector(0, 1, 0);
Camera->Direction->SetVector(
sin(DegToRad(yaw)), sin(DegToRad(pitch)), -cos(DegToRad(yaw)));

LabelPitch->Caption = Format("Pitch: %3f", ARRAYOFCONST((pitch)));
LabelYaw->Caption = Format("Yaw: %3f", ARRAYOFCONST((yaw)));
}

//---------------------------------------------------------------------------
void __fastcall TFormPanorama::GLSceneViewerMouseDown(
TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
mx = X;
my = Y;
}

//---------------------------------------------------------------------------
void __fastcall TFormPanorama::GLSceneViewerMouseMove(
TObject* Sender, TShiftState Shift, int X, int Y)
{
float dx, dy, f;
if (Shift.Contains(ssLeft)) {
f = 0.2 * 40 / Camera->FocalLength;
dx = (X - mx) * f;
dy = (Y - my) * f;
PanCameraAround(dx, dy);
}
mx = X;
my = Y;
}

//---------------------------------------------------------------------------
void __fastcall TFormPanorama::FormMouseWheel(TObject* Sender, TShiftState Shift,
int WheelDelta, TPoint &MousePos, bool &Handled)
{
TrackBarFocal->Position = TrackBarFocal->Position + (int)(2 * WheelDelta / 120);
}
//---------------------------------------------------------------------------

Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #205 : 06 Дек 2025 [00:53:44] »
Тема не про программирование.

Исходя из понимания слов в первом посте ...

Бобер, выдыхай.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #206 : 06 Дек 2025 [10:54:33] »
Вот пример кода вьюера на С++ для просмотра изображений, например, астрономических сферических панорам
Хороший пример кода чтобы отдать его генерацию ИИ - его и так наполовину IDE сгенерировала :)

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #207 : 06 Дек 2025 [12:07:27] »
Хороший пример кода чтобы отдать его генерацию ИИ - его и так наполовину IDE сгенерировала
А вы бы как хотели, чтобы обе половины кода нейросеть сама написала на С++ и математику на ассемблере? И не надо никакой язык учить? Пока в ближайшие годы не сможет. А потом задание будет примерно таким - Напиши мне визуализатор космических 3D панорам, в котором каждый объект может показать информацию о себе и реагировать на событие по запросу астронома. Если сможет сделать, то получится целый виртуальный планетарий.;)
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #208 : 06 Дек 2025 [12:17:45] »
А вы бы как хотели, чтобы обе половины кода нейросеть сама написала на С++ и математику на ассемблере?
В данном случае можно смело написать хоть на питоне, да хоть на чем угодно - например на Tcl\Tk или на С или на JavaScript - так как надо взять готовую библиотеку. Подобные алгоритмы уже давно написаны и скомпилированы в готовые библиотеки - для работы с jpg как в этом примере.
Тут математики в примере тупо нет - это чисто визуальная обертка с обработкой кнопок. ООП тут как таковой вообще не нужен.

Цитата
GLMaterialLibrary->Materials->Items[0]->Material->Texture->Image->LoadFromFile(OpenPictureDialog->FileName)
Это вообще нечто. Никаким ООП с контролем видимости не пахнет - тупо все паблик. Причем даже операция индексации ( хардкоженная ! ) не обернута  в try catch - а вдруг там по указателю NULL для Items ? - и все рухнет.
Это точно С++ 26 ?  :)
« Последнее редактирование: 06 Дек 2025 [12:23:07] от yacc »

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #209 : 06 Дек 2025 [14:05:31] »
ООП тут как таковой вообще не нужен.
Нет, неверно, здесь очень много ООП, панорама натягивается на полигональный небосвод типа Sphere, сеточная 3D модель с многочисленными свойствами, в том числе фокальной глубиной, указанием цели target и т.д., в т.ч. с возможностью подключения компонента выбора материала TGLMaterialLibrary объектов сцены или всей её канвы. Для меш объектов там большая иерархия наследования, начиная от базового модуля векторной геометрии с различными типами данных и инкапсулированными методами. И паблик есть, и прайвит, не волнуйтесь. В такую сцену легко встраиваются и другие типы пространственных объектов с анимацией и, естественно, с их точными координатами. Это вам не 2D картинки в формате jpg. И ничего не рухнет, поскольку в исходниках конечно есть и try, и catch и многое чего ещё для обработки исключений и не только.   
« Последнее редактирование: 06 Дек 2025 [14:12:48] от Павел Васильев »
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #210 : 06 Дек 2025 [14:18:28] »
Это точно С++ 26 ?
По крайней мер Clang компилятором для Windows 64 данный конкретно проект компилируется отлично, как заявлено в IDE по стандарту C++23. A С++26 пока только обсуждается :) 
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #211 : 06 Дек 2025 [15:04:37] »
Нет, неверно, здесь очень много ООП
Именно в данном конкретном примере - его как такового вообще нет - ну только разве методы написаны.
И указатель на форму торчит прямо в начале файла.

Но с тем же успехом в начало можно впихнуть С-структуру прямо статически
типа struct TFormPanorama { ... } instance.
 и написать функции в виде TFormPanorama_FormCreate как функции - все равно они к полям ходят, ну будут использовать instance.xx - и никакого С++ вообще не надо.

И ничего не рухнет, поскольку в исходниках конечно есть и try, и catch
try catch ставится там где идет вызов:
try {
  // обращение по указателю - мы не знаем что там по адресу в p, может p == NULL ?
 int i = p->Index[0]->value;
}
catch (...) {}

И да - по хорошему оператор индексирования  []  может кинуть исключение если массив пустой и обращение к первому элементу некорретно, а может просто тупо вернуть NULL - это кто как библиотеку писал, допустимы оба типа поведения : и тогда либо взятие первого элемента по указателю вылетает с ошибкой ( если вернули NULL ), либо кидается исключение, которое тоже никто не проверяет.

При вызове в методе формы в данном примере никакой обработки ошибки не предусмотрено - а должен быть хотя бы MessageBox с ошибкой.
Поэтому при некорректном поведении приложение тупо вылетит, точнее его обработает дефолтовый обработчик приложения, который выведет типа : "Unhandled exception at  XXXX in file.exe" и прибьет программу.
Не проверять и не обрабатывать исключения - это bad practice - но обычно это делают начинающие и студенты, которые даже не думают что так оно может быть.

Цитата
По крайней мер Clang компилятором для Windows 64 данный конкретно проект компилируется отлично
некорретная программа вполне может компилироваться  :)
« Последнее редактирование: 06 Дек 2025 [15:19:37] от yacc »

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #212 : 06 Дек 2025 [16:15:56] »
Именно в данном конкретном примере - его как такового вообще нет - ну только разве методы написаны.
И указатель на форму торчит прямо в начале файла.
Да что вы говорите? А подключаемые модули вы какбы и не заметили, вы что, привыкли всё в main реализовывать  от начала и до конца вашей утилиты? Почитайте справку про ООП, классы, иерархию, наследование, полиморфизм и вам станет всё понятно. Указатель на форму стоит в правильном месте.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #213 : 06 Дек 2025 [18:52:08] »
try {
  // обращение по указателю - мы не знаем что там по адресу в p, может p == NULL ?
 int i = p->Index[0]->value;
}
catch (...) {}

И да - по хорошему оператор индексирования  []  может кинуть исключение если массив пустой и обращение к первому элементу некорретно, а может просто тупо вернуть NULL
Кстати, коллега, это я конечно виноват, что не привёл весь текст программы целиком, а дал только главный модуль. Вот сам cpp программы с win main, в котором проверка возможных исключений, не считая таких в самих файлах либы:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
USEFORM("fcPanoViewer.cpp", FormPanorama);
//---------------------------------------------------------------------------
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TFormPanorama), &FormPanorama);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #214 : 06 Дек 2025 [19:50:52] »
Вот сам cpp программы с win main, в котором проверка возможных исключений, не считая таких в самих файлах либы
Это и есть обработчик по умолчанию - когда сработает catch то программа закончится с "Unhandled exception at  XXXX in file.exe"


Оффлайн Вантуз

  • ****
  • Сообщений: 263
  • Благодарностей: 3
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #215 : 06 Дек 2025 [19:59:50] »
На 1011 ОЗУ было не менее 1М
Не было на 1011 физически никогда столько ОЗУ - только 64\128К - там вообще память была на ферритовых сердечниках.
В данном случае, один из двух спорящих дурак, а другой подлец.
Подлецом быть не хочу.

Онлайн Ph_user

  • *****
  • Сообщений: 3 163
  • Благодарностей: 83
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #216 : 06 Дек 2025 [20:48:51] »
Чтобы добывать бабло научно из общака лучше учить програмирование 1с-бухгалтерии. Тогда можно и научному руководителю определять сколько получка будет и еще и програмерам на миску похлебки бросать чтобы красивости рисовали всякие. Пока там приличный програмист в телескоп смотрит для услады взора.

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #217 : 06 Дек 2025 [20:52:26] »
На 1011 ОЗУ было не менее 1М
Не было на 1011 физически никогда столько ОЗУ - только 64\128К - там вообще память была на ферритовых сердечниках.
В данном случае, один из двух спорящих дурак, а другой подлец.
Подлецом быть не хочу.
Отвечу сканом справочника

Оффлайн yacc

  • ***
  • Сообщений: 126
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #218 : 06 Дек 2025 [22:38:07] »
Да что вы говорите? А подключаемые модули вы какбы и не заметили, вы что, привыкли всё в main реализовывать  от начала и до конца вашей утилиты? Почитайте справку про ООП, классы, иерархию, наследование, полиморфизм и вам станет всё понятно. Указатель на форму стоит в правильном месте.
Вот скажите мне, как мне вежливо называть человека, который вообще не представляет как работает компилятор/линкер но говорит про какое-то там ООП ?

А то, что человек ни бум-бум в компиляторах я сейчас наглядно продемонстрирую:

Директива #pragma link "GLS.Objects" которую по незнанию называют  "подключаемые модули" в реальности работает абсолютно не так: эта директива указывает компилятору включить в единицу компиляции - в данном случае это будет fcPanoViewer.cpp cо всеми включениям через #include через все промежуточные файлы h и hpp -  в скомпилированный файл комментарий для линкера о том, чтобы при сборке исполняемого файле еще и искать некоторые объектные файлы, в которых будут необходимые функции/методы.
Т.е. #pragma link "GLS.Objects" означает что в скомпилированном fcPanoViewer.оbj будет строка "GLS.Objects.obj" - т.е. линкер будет для связывания искать внешние объекты в файле GLS.Objects.obj даже если он не включен явно в проект и искать он его будет либо в текущем каталоге для obj файлов либо по путям указанным в настройках LIB проекта.
Вот и все.
Если в CPP файле сделать эту директиву и дернуть в коде какую-то функцию из GLS.Objects.obj то компилятор тупо не скомпилирует этот СPP - потому добавление комментария для линкера НЕ ИЗБАВЛЯЕТ от необходимости иметь описания для функции: а директива #pragma link "GLS.Objects" нифига не предоставляет компилятору этого описания - это нифига не эквивалент того, что в Паскале.
Паскалистам кажется что #pragma link "GLS.Objects" это как uses GLS.Objects - только это абсолютно не так.

А смотреть надо в другое место - в файл fcPanoViewer.h где есть такие строки:
#include "GLS.Objects.hpp"

вот именно в этом файле и находятся описания для типа TGLMaterialLibrary чтобы сделать такой указатель:
TGLMaterialLibrary *GLMaterialLibrary
А в файле формы есть такое
object GLMaterialLibrary: TGLMaterialLibrary
т.е. при вызове метода создания ему еще свойства зададут
А где этот TGLMaterialLibrary ?
Да он в библиотеке GLScene на паскале. У вас его кода на репозитории нет, но ничего не стоит глянуть... чтобы утонуть
Например в GLMaterial.pas можно найти класс
TGLMaterialLibrary = class(TGLAbstractMaterialLibrary)
он еще от абстрактной библиотеки наследуется ...
А там будет
// The materials collection.
property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored StoreMaterials;

Т.е. интерфейс к коллекции. А еще выше аж вот так
//an interface for proper TGLLibMaterialNameProperty support
IGLMaterialLibrarySupported = interface(IInterface)  ['{8E442AF9-D212-4A5E-8A88-92F798BABFD1}']
    function GetMaterialLibrary: TGLAbstractMaterialLibrary;

А что такое IInterface ? - да это IUnknown COM-интерфейс  - вот ему и GUID указали где искать в реестре.

Так что простенькое перетаскивание на форму билдера объекта TGLMaterialLibrary из палитры компонентов тянет за собой и COM И dll и кучу всего.

А кому-то кажется что компонент добавился одним описанием #pragma link "GLS.Objects" в CPP файле.
Хотя там такая портянка тянется за этим компонентом ...

И к слову - все это выше показывает, что проект НЕВОЗМОЖНО собрать ни в Visual Studio, ни посредством g++ на Линукс - код в принципе не портируемый.

Вот такой вот "С++ 26", ага, с Паскалем и COM-интерфейсами. :)
Цитата
Почитайте справку про ООП, классы, иерархию, наследование, полиморфизм
Это вам надо почитать как работают компиляторы и как они собирают исполняемый файл.
А не красивые стандарты ООП и стандартов языков - тем более что использования С++ более чем 2 версии я не вижу
Даже не 11-й и не 3-й - только второй.
« Последнее редактирование: 07 Дек 2025 [00:04:27] от yacc »

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #219 : 07 Дек 2025 [00:07:20] »
Директива #pragma link "GLS.Objects" которую по незнанию называют  "подключаемые модули"
А откуда вы, глубоко уважаемый, выдрали мнение, что это подключаемые модули? Сам придумал, сам отвечает
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq