Телескопы покупают здесь


A A A A Автор Тема: Изучаю Паскаль. Присоединяйтесь.  (Прочитано 9894 раз)

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

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

  • ****
  • Сообщений: 459
  • Благодарностей: 18
    • Сообщения от Павел Васильев
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #300 : 23 Фев 2023 [08:39:21] »
Я как новичек в небесной механике, нашел быстренько либы на Сях libnova и libsofa и на нах накалякал за одну неделю аналог орбитрона с визуализацией и управлением приводами альт-аз мида для
спутников, комет, звезд и планет СС
Хорошо, вот вы "накалякали" утилиту за неделю для себя, а подумали ли о пользователях, спроектировали ли  сложный, но удобный графический интерфейс, GUI, который будет понятен не только лишь вам? На это обычно уходят годы, причём отладка идёт во взаимодействии с юзерами, с обратной связью. А для создания интерфейса "человек-машина" в SkyChart используется либа LCL для FreePascal in Lazarus, близкий аналог  самой лучшей в мире либы компонентов с управляющими элементами Vcl (для Delphi/C++Builder) тоже написана на Pascal. Не говоря про саму среду RAD Studio, надо упомянуть, что одна из самых распространённых и бесплатных опенсорс сред программирования Dev-C/C++ (более 70 МЛН. скачиваний и установок) продолжает развиваться именно на Delphi, а не на С/C++. Почему бы это? Что, штатовская фирма Эмба не может нанять таких как вы программистов и переписать все исходники на MS Visual C++? Да нет, просто им быстрей, понятней и удобней писать на Pascal большую систему - ошибок и трудоёмкость меньше,  читабельность и надёжность выше, не говоря уже про скорость сборки всей среды на порядок, если не больше, по сравнению с любым сишным компилятором. А при интенсивной разработке это надо делать гораздо чаще, чем один раз в год.  :police:         

Оффлайн ma][im

  • *****
  • Сообщений: 4 884
  • Благодарностей: 1397
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от ma][im
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #301 : 23 Фев 2023 [08:57:47] »
а подумали ли о пользователях, спроектировали ли  сложный, но удобный графический интерфейс, GUI, который будет понятен не только лишь вам?
Так разговор был про астрономию, а не ГУИ ;)
а для астрономов язык Паскаль самое то, он ближе всего к строгому математического описанию задач небесной механики, без сишных двусмысленностей и переопределения матсимволов, и ясного алгоритмического решения астрометрических проблем. Можно убедиться на примере  исходников SkyChart

Согласен что GUI очень просто сбильдерить, но насколько это востребовано в современном мире именно LCL с паскалем или VCL с бильдером?
Моя утилитка соберется без переделок кода и в астралинукс и в armbian, не только в винде.

а подумали ли о пользователях
О них точно не думал :) ибо не планирую делиться моей прогой, да и заточена она под прямое управление сервоприводами Meade, вряд ли это кому-то нужно.
« Последнее редактирование: 23 Фев 2023 [09:06:14] от ma][im »
(кликните для показа/скрытия)

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

  • ****
  • Сообщений: 459
  • Благодарностей: 18
    • Сообщения от Павел Васильев
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #302 : 23 Фев 2023 [09:16:16] »
Пока начал процедуры и функции.
Э, да так вы к созданию программ по астрономии не скоро приедете, если вообще охота не отпадёт, так как поезд уйдёт далеко. У вас же есть школьные базовые понятия о языке или по информатике, поэтому надо сразу установить самую удобную IDE и приступать к изучению готовых примеров (samples, examples, demos, lessons). Клонируйте их с Github и изучайте функции, добавляйте свои.   Вот, например, несколько читабельных полезных типов, записей (struct) и объявлений констант для планет солнечной системы https://github.com/GLScene/GLScene/blob/master/Examples/AdvDemos/Earth/USolarSystem.pas , которые можно использовать для программы навигации по солнечной системе или планетария в сочетании с компонентом TGLSkyBox (отображение звёзд из каталогов на одном из слоёв небосвода). И добавлять прочие опции, изучая функции визуально.  ;D

Оффлайн CyberManiac

  • *****
  • Сообщений: 8 105
  • Благодарностей: 452
  • Я ♥ オリオン!
    • Сообщения от CyberManiac
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #303 : 23 Фев 2023 [12:29:02] »
У вас же есть школьные базовые понятия о языке или по информатике
В школах довльно долго изучали Бейсик, там "функция" задавалась через DEF FN и должна была укладываться в одну строчку, а процедур не было вообще, только подпрограммы с передачей параметров через глобальные переменные.

поэтому надо сразу установить самую удобную IDE
Если ничего не знать о программировании, то "самая удобная" = "самая простая". То есть что-то типа Турбо Паскаля.

в сочетании с компонентом TGLSkyBox
Чтобы понимать, что такое "компонент", нужно сначала понять, что такое "класс", "указатель на экземпляр класса", "свойство", "метод", и ООП вообще. И в этом проблема вообще всех современных языков программирования, что их невозможно последовательно изучать "с нуля", потому что даже напечатать строчку без "магии" не получится.
Трэш, угар и астрономия!
沖縄最高

Оффлайн АурипигментАвтор темы

  • *****
  • Сообщений: 5 299
  • Благодарностей: 156
  • Ми пацаки с планеты Земля. А Ви кто?
    • Сообщения от Аурипигмент
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #304 : 23 Фев 2023 [14:36:12] »
Каюсь, я в школе не изучал ни информатики, ни программирования и ничего похожего. У меня приятель (одногодка) учился на 1 класс меньше и он уже учил информатику (по новой учебной программе). Я приходил к нему в гости и смотрел у него учебник, для меня это был тогда тёмный лес. В Институте я учил Фортран, а параллельно в ПТУ учил программирование на калькуляторе (программируемом), т.к. получал специальность оператор токарного станка с ЧПУ.
Самостоятельно пытался писать проги на калькуляторе. Никакого компьютера у меня тогда не было. Компьютер Пентагон-128 я начал в году 94..95, на Бейсике там была написана программа SUN, по книге Меёса, которая вычисляла эфемериды Солнца и могла рапечатывать их в виде таблицы на принтере (я купил принтер МС 6313, а на Пентагоне был сделан порт принтера). Затем был собран Орион-про, году в, примерно, 98, на него авторы дали компилятор Паскаля и несколько библиотек и я пытался там чего-то написать. Первый IBM PC AT совместимый у меня появился только в 2001 году с Виндой 98. Это было отстойное бэушное железо, практически, с помойки. Работало всё плохо, я тогда только и занимался, тем, что пытался сделать так, что бы оно хоть как-то работало. :facepalm:
В общем, тернистый путь пользователя ПК. :(
Нам тайны не раскрытые раскрыть пора,
Лежат без пользы тайны, как в копилке.
Мы тайны эти с корнем вырвем у ядра,
На волю пустим Джина из бутылки.

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #305 : 27 Фев 2023 [13:44:52] »
не может нанять таких как вы программистов и переписать все исходники на MS Visual C++?
Опять... :facepalm:
Да для промышленного программирования как индустрии уже этого добра под MS VS навалом. Самая крутая на сегодня, питерская BCGSoft. На их сайте можно GUI поразглядывать, или скачать эволюшен версию. Всё с исходным кодом. Можно сказать опен-соурс.

https://bcgsoft.com/

ps Сам на ней сижу уже 20 лет.


Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 228
  • Благодарностей: 39
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #306 : 28 Фев 2023 [08:53:16] »
Народ, выкидывайте уже эту помойную венду! Переходите на линукс. И не будет у вас проблем ни с программированием, ни с автоматизацией. И GUI дурацкие рисовать не придется (т.к. фактически GUI нужен крайне в редких случаях; вот, у нас, например, 0.5-метровые телескопы вообще на баш-скриптах работают — удобно!).
А что до паскаля, то с одной стороны, конечно, хорошо, что хоть не пытхон убогий, но с другой стороны под паскаль крайне мало разнообразных библиотек. Все-таки, основа — это С. А если будут нужны классы, шаблоны и т.п., то можно и С++ попробовать (лично я органически не воспринимаю современный С++ и пишу исключительно на С: начиная от микроконтроллеров и заканчивая клиент-серверными приложениями).
Или можно, "назло всем", аду или форт изучать. И быть гордым одиночкой, которому даже на SO советом не помогут…

Оффлайн nolv

  • *****
  • Сообщений: 2 662
  • Благодарностей: 194
    • Сообщения от nolv
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #307 : 28 Фев 2023 [11:10:59] »
C не всем подходит. От него катастрофически усиливается рост бороды )))

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 228
  • Благодарностей: 39
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #308 : 28 Фев 2023 [11:36:05] »
усиливается рост бороды )))
Ну, не сказал бы: я на С пишу лет 20 как, бороды нет ☺

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #309 : 28 Фев 2023 [11:49:07] »
усиливается рост бороды )))
Ну, не сказал бы: я на С пишу лет 20 как, бороды нет ☺
Аналогично, 30 лет будет в августе, как официально работаю и пишу на С/С++, бороду не ношу. Один раз только отросла при ковидле, когда на самоизоляцию всех загнали. Но это исключение  :D

Оффлайн ma][im

  • *****
  • Сообщений: 4 884
  • Благодарностей: 1397
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от ma][im
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #310 : 28 Фев 2023 [12:27:32] »
пишу на С/С++, бороду не ношу
Аналогично, один раз для фото оставил усы на 10 минут ;D
(кликните для показа/скрытия)

Оффлайн CyberManiac

  • *****
  • Сообщений: 8 105
  • Благодарностей: 452
  • Я ♥ オリオン!
    • Сообщения от CyberManiac
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #311 : 28 Фев 2023 [12:28:53] »
C не всем подходит. От него катастрофически усиливается рост бороды )))
На ладонях :D
Трэш, угар и астрономия!
沖縄最高

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #312 : 28 Фев 2023 [12:49:33] »
На ладонях :D
Для лучшего умерщвления микробов, что умирают на ваших руках  ;D ;D

Оффлайн p.v.

  • *****
  • Сообщений: 7 516
  • Благодарностей: 232
    • DeepSkyHosting: id175
    • Сообщения от p.v.
    • Умный дом в деревне
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #313 : 02 Мар 2023 [23:34:32] »
Самая крутая на сегодня, питерская BCGSoft
Первый раз слышу о "самой" крутой. До них были  Infragistics , DevExpress и еще туева хуча контор, что занимались тем же самым еще с 90-х г.. Писали красивые контролы для экономистов и аналитиков, кому надо делать крутые презентации. Для меня крутой GUI =  простой и очевидный GUI, что идет из коробки от поставщика IDE. Все эти навороченные контролы от third party контор - это синтаксический и графический сахар. Программировать его невозможно, код пухнет и становится нечитабельным. Простую вещь будешь делать в 10 раз дольше. Иногда бывает нужно сделать что-то специфическое и иногда это удобно, согласен.
« Последнее редактирование: 03 Мар 2023 [14:32:28] от p.v. »
(кликните для показа/скрытия)

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #314 : 07 Мар 2023 [18:44:40] »
Первый раз слышу о "самой" крутой. До них были  Infragistics , DevExpress и еще туева хуча контор, что занимались тем же самым еще с 90-х г..
Это всё не то. Они под все платформы стараются одновременно. В итоге под Винду на С++ жиденько. А питерцы именно отталкиваются от MFC и только по Вин с исходниками на С++. Удобно и наглядно. Поставляются с примерами. Всё время развиваются. Да и поддержка на чисто русском. Любые гриды на миллионы элементов оптимизированы. Куча современных контролов для диалогов и т.д.  :)
Я уже не говорю про поддержку отечественных разрабов.

зы В статье в Вики про MFC в конце Примечание, там на них ссылка. Тоже с 90-х начали.

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

  • ****
  • Сообщений: 459
  • Благодарностей: 18
    • Сообщения от Павел Васильев
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #315 : 11 Мар 2023 [21:15:17] »
А питерцы именно отталкиваются от MFC и только по Вин с исходниками на С++. Удобно и наглядно. Поставляются с примерами.
Ну тогда всё ясно, раз отталкиваются от MFC. Эти майкрософтовские формочки в подметки не годятся визуальным компонентам и контролам VCL для Delphi и C++Buildera. Да и FMX ещё лучше кроссплатформенные, а не только для Win. Они всегда  поставлялись с исходниками и горой примеров, что очень удобно, а если что-то надо стороннее - тонны компонентов на Getit всегда под рукой, включая Boost для математических расчётов.  :good:

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

  • ****
  • Сообщений: 459
  • Благодарностей: 18
    • Сообщения от Павел Васильев
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #316 : 20 Мар 2023 [09:39:13] »
Изучать Object Pascal  много легче чем С++ особенно астрономам с ослабленным зрением после долгих наблюдений в телескоп - команды begin-end гораздо легче различаются и читаются в длинном тексте, чем фигурные скобки, которые часто сливаются с круглыми и квадратными скобками. А в Pascal комментарии {...} всегда удобно можно заменить на (*..*) или // для одной строки как в си. Так читабельней.

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #317 : 20 Мар 2023 [11:13:06] »
Изучать Object Pascal  много легче чем С++ особенно астрономам с ослабленным зрением после долгих наблюдений в телескоп - команды begin-end гораздо легче различаются и читаются в длинном тексте, чем фигурные скобки, которые часто сливаются с круглыми и квадратными скобками.
Как обычно высосано из пальца.  :D

#include <stdio.h>
 
#define BEGIN {
#define END }
#define N 23
 
int main(void)
BEGIN
    int x = N;
    printf("Number: %d", x);   // Number: 23
    return 0;
END

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

  • ****
  • Сообщений: 459
  • Благодарностей: 18
    • Сообщения от Павел Васильев
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #318 : 20 Мар 2023 [16:38:35] »
Зачем изучающим паскаль знать что в си можно делать локально замену скобок? В дельфи тоже встречал замены под си, типа integer на int и т.д, но это не будет работать со сторонними подключаемыми либами. И вообще, ключевые слова теперь принято писать с маленькой буквы, а вместо int main() в паскале надо писать  function main: integer; Вы теперь eщё struct на record и  void на procedure замените и докажите мощь языка си, а заодно ! знак на not и логические операции. Чтобы было по человечески, ближе к математике, а не ==.

Оффлайн LeftUser

  • *****
  • Сообщений: 30 630
  • Благодарностей: 978
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #319 : 20 Мар 2023 [18:03:07] »
Зачем изучающим паскаль знать что в си можно делать локально замену скобок? В дельфи тоже встречал замены под си, типа integer на int и т.д, но это не будет работать со сторонними подключаемыми либами.
Это препроцессор языка С. Чего нет во многих языках. А я говорил про могучесть и гибкость. Это не пустые слова. И причём тут либы? :)))