Ну чего там с языками программирования и технологиями?

Discussion in 'Off Topic' started by -rust-, Sep 2, 2022.

  1. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,468
    Location:
    Russia
    Аналог команды copy тебе надо написать?
    Волшебное, да. ;)

    P.S. Для шиномонтажа не используют токарно-карусельный станок с ЧПУ. Это глупо и неэффективно.
     
    mcgru- likes this.
  2. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,240
    Location:
    Izhevsk
    Php?
     
  3. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,468
    Location:
    Russia
    Заебешься писать команды bash на php. :)
    Ну и как всегда, что бы что-то запустить надо будет еще и интерпретатор php на машину ставить.
     
  4. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,240
    Location:
    Izhevsk
    exec($bashcmd);

    :D
    Там, где есть bash, php обычно по-дефолту уже установлен. Как замена перлу он отлично подходит: БД, ФС, сеть, регекспы, xml, json и тыды - из коробки.
     
  5. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,468
    Location:
    Russia
    Не не не Девид Блейн, ты без самого баша, давай. :)

    Вызвать скрипт на баше, практически любой язык может. Но зачем тогда он нужен?
     
    mcgru- likes this.
  6. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,240
    Location:
    Izhevsk
    Ну, какое ТЗ было... :)
     
  7. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,468
    Location:
    Russia
    А ТЗ-то и не было!
     
  8. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,240
    Location:
    Izhevsk
    Кстати, а о каких командах баша вообще речь?
     
  9. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    C# однозначно.
    Во первых язык куда более логичный и современный, не тянет за собой груз совместимости с Си.
    Язык высокоуровневый, активно и рано включает в себя новые концепции (смотри async/await хотя бы).
    За языком стоит громада МС (что не столь важно)
    За микрософтовскими языками стоят очень умные дядьки, которых нанял МС, платит им денежку "лишь бы они занимались любимым делом" (и потом результаты этого любимого дела включают в свои языки). Взять, хотя бы, Тони Хоара (кстати, выпускник МГУ и студент Колмогорова), или Саймона Пейтона Джонса.
     
    -Shai- likes this.
  10. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    Золотые слова.
    "Умеючи" это "не как на Фортране", ибо немало программистов застряли в технологиях 60/70 годов даже об этом не подозревая и не хотят учиться ничему новому.
     
  11. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    Да, видели старое мобильное приложение от фейсбука. 400+ мб клиент. зато написан был на всяких типа- переносимых reactnative и так далее.
     
  12. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    Это, сорри, не совсем программирование - это дергание функционала операционки. Ибо многих концепций типа "емейл" в языках программирования нету совсем.
     
  13. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    ну совсем жидайский путь это system() из позиксного stdlib. но смысла крайне мало )
     
  14. mcgru-

    mcgru- Well-Known Member

    Joined:
    Sep 21, 2000
    Messages:
    61,496
    Location:
    Tomsk, Russia
    я всего лишь хотел увидеть "дёргание функционала операционки" на более-менее высокоуровневом ЯПе :) (повыше баша явно)
    (отсылка емейла затесалась - чтото не удалилась строка, я там ещё удалял пару строчек, а эта осталась)

    вот сколько нужно строчек в програмке на c# или pascal написать, чтобы ими запустить какую-нить хрень (другие программы) на нескольких хостах сразу? скажем, собрать инфу о текущих открытых сокетах на тх хостах... это вот про master-slave ssh-conenctions и parallel.

    с json кое какие среднеуровневые ЯПЫ (python какой-нить) конечно работают нативно, с xml тоже, почти.
    а на c# и pascal с этим как?
    например, поменять тексты в некоторых элементах, где аттрибут попадает под какое-нить условие...

    тот список - это всё же не совсем "дёргание функционала операционки".
    я бы назвал это - рутинные процедуры, с которыми приходится сталкиваться при налаживании (скриптовании) какого-нить айтишного процесса (будь то сбор данных или управления сборками билдов).

    программирование у меня - специфичное несколько :)
    далеко не ООП, но и не совсем элементарщина.
    проанализировать сущности, определить множества, ограничить их исходя из задачи и естественных пределов, задать стандарты.
    Если разбить весь воркфлоу на элементарщину, то чтобы собрать это всё потом воедино, учесть всякие временные зависимости и заскриптовать - для этого и требуются элементы из того списка.
     
    Last edited: Sep 26, 2022
  15. Relict

    Relict Well-Known Member

    Joined:
    Jan 4, 2007
    Messages:
    14,138
    Location:
    Москворечье
    не сертифицирован для спец ПО. в моем случае - аминь.
    зы
    дотнет/сшарпу отдал годы с начала нулевых (еще бета) до 14-го
     
  16. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,468
    Location:
    Russia
    Что бы выполнить "какую-то" задачу нужно "сколько-то" строчек кода.
    Хорошо все.
    Можно сделать.
    Тебе видимо надо написать свою консольную утилиту, которая будет что-то там анализировать, после чего запускать баш скрипты с параметрами.
    Возможно, еще надо что бы утилита была демоном и управлялась по сети.
     
    Last edited: Sep 26, 2022
  17. mcgru-

    mcgru- Well-Known Member

    Joined:
    Sep 21, 2000
    Messages:
    61,496
    Location:
    Tomsk, Russia
    в 2013 я развлекался с самодельным подобием ansible (на основе баша и программках, входящих в coreutils) - запускать чтото на некоем списке хостов - собирать инфу о тех хостах, о конфигурации крутящегося там софта (задача иная, нежели мониторинг). по собранной инфе - генерить отчётики, записывать полученные файлики в систему, инициирующую сборку билдов.
    про сам ansible узнал попозже (puppet и chef не понравились), а использовать его стал ещё позже.
     
  18. mcgru-

    mcgru- Well-Known Member

    Joined:
    Sep 21, 2000
    Messages:
    61,496
    Location:
    Tomsk, Russia
    я, в общем-то, и ищу чтото, что "понравится начальству" (в смысле - разрешит использовать в продакшене).
    верю, что вместе со стандартом языка добрые дяди из числа разработчиков языка сделают ещё и набор библиотек по работе со всем тем описанным барахлом. причём сделают библиотечку удобной (не всегда нужно быстродествие).
    и тогда - да, вызов пары функций, да ещё и с сахарком если - и код становится не-портянистым - кратким и понятным.

    так-то нашёл вот ion-shell, но сам ещё побаиваюсь его. разрабы то ли гении, то ли разгильдяи - три года не коммитили изменения, потом что-то подправили. и сейчас - то ли такое шикарное сделали, что править нечего, то ли глюков там - никто просто толком не искал...
     
  19. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,240
    Location:
    Izhevsk
    Тогда C/++/# тебе не надо. Будет как раз пониже баша, т.к. эти хотелки подразумевают прямые вызовы системных функций ОС. Кода больше, бинарник компактнее.
    Попробуй пхп. Встроенные функции почти весь спектр задач coreutils покрывают. Да и спецов по нему найти не проблема для прода.
     
  20. -rust-

    -rust- Well-Known Member

    Joined:
    Jan 23, 2000
    Messages:
    5,291
    Самый высокоуровневый с которым я более или менее работал это, пожалуй, OCaml. В общем случае так же как и в Си:
    Code:
    # Sys.command "uptime";;
    10:52  up 2 days, 16:35, 9 users, load averages: 1.52 1.51 1.66
    - : int = 0
    #
    
    (аптайм маленький потому что комп только купил :)


    в паскале стандартном не уверен, все таки учебный язык и в стандарте такого скорее не было.
    В сишарпе - Process. Несколько строк чтобы "читаемо" или можно слепить в одну чтобы было "короче".
    Ты пойми, что как только в языке/его стандартной библиотеке есть аналог сишного systemO - то автоматически можно сделать то же самое что и на шелле.


    и баш всего один из инструментов. постоянно пытаются сделать что то уровнем повыше - перлы всякие питоны там.
    Для компиляции проекта из сорсов тоже можно на баше скрипт написать. Но есть более подходящие специализированные инструменты, народе make/cmake/прочих
     
    Flk likes this.