//EXEC FFORTRAN
Jul. 20th, 2017 10:39 am
Пароль: BALR 13. Отзыв: USING *
Зная по опыту, что среди читателей "ХВ" есть много "программистов" (см. ниже), хотел бы задать несколько вопросов, в основном имея в виду малолетних родственников, рождённых уже в 21 веке.Есть ли вообще такое понятие, как "программирование"? Понятно, что масса людей инженерных, технических и физических специальностей ежедневно использует компьютер в своей работе, но это скорее часть необходимой профподготовки инженера, физика, как умение пользоваться микроскопом или отвёрткой в лаборатории. Скажем, пользование каким-нибудь матлабом, даже если оно подразумевает написание довольно длинных скриптов, вряд ли можно отнести к "программированию". А существует ли оно, "бесцельное" программирование, вообще? Остальные вопросы подразумевают, что ответ на этот вопрос, - "да". Какие нужны оговорки?
Как люди приходят в эту область? В "наше время", когда компьютеры были большие, а мини-ЭВМ и персоналки только-только появлялись, было два потока: либо через факультеты математики/физики, где не учили никакому программированию (в лучшем случае, каким-то численным методам), но "тренировали мозги". Либо, наоборот, в программисты попадали выпускники "профильных" институтов, где конкретно учили бесконечные фортраны-PL/I-паскали-бейсики, позднее сишарпы, базы данных, сетевые протоколы и пр., имея в виду приложения в специальных областях (АСУ и пр.).
Сейчас я в основном вижу, как в "программирование" приходят люди после университетов/колледжей со специальностью math/computer science (речь идёт о хеломских университетах), но это может быть из-за аберрации (то, что видно с моей кочки). Это в самом деле так?
Ну, и самый важный вопрос, с высоты вашего опыта и карьеры: где лучше учиться "на программиста"? Что учить? Особенно интересно (с практической точки зрения) мнение москвичей и/или знакомых с московскими университетами/институтами по состоянию на сегодня.
no subject
Date: 2017-07-20 11:36 am (UTC)Программирование полезно в связке с чем-то ещё. Программирование плюс статистика = data science, плюс финансы = кванты и HFT, плюс биология = биоинформатика и так далее. Поэтому я рекомендую нащупать эту главную область и всерьёз изучать именно её. А программирование - в дополнение.
no subject
Date: 2017-07-20 11:50 am (UTC)Мелкое замечание по поводу аналогии, не без намёка: -) слепым десятипальцевым методом не умеет печатать почти никто, за исключением машинисток. 4-6 пальцев, - это то, что необходимо и достаточно. Однако и в этом месте не всё так просто. Я вот печатать по-русски с такой скоростью могу только в "транслите": если меня пересадить на стандартную ЙЦУКЕНГ, я зависну напрочь. Печатать на иврите получается лишь немногим лучше, мучительно и медленно (одного пальца хватает с лихвой).
Навыки вождения машины на ручнике и автомате тоже довольно различны, а ещё есть всякие гольф-кары, трактора, автопогрузчики и танки.
no subject
Date: 2017-07-20 12:04 pm (UTC)но по сути согласен - новое поколение будет кодить как мы водим машину не будучи ни шоферами ни гонщиками
если только какой то прыткий йуноша не решает стать именно гонщиком
учат ли на гонщика или это в основном самообразование?
Все сравнения хромают
Date: 2017-07-20 02:29 pm (UTC)Ручная коробка передач традиционно используется в сравнениях как аналог программирования на C, автоматическая соответствует питону или Java.
Re: Все сравнения хромают
Date: 2017-07-20 02:40 pm (UTC)Это работает в одну сторону
Date: 2017-07-20 03:21 pm (UTC)А вот в другую сторону возможны проблемы. Знаю людей, которые не понимают указатели, хотя это в общем совсем простая вещь. Просто не все так думают, многим неинтересно и некогда лезть в низкий уровень.
Re: Это работает в одну сторону
Date: 2017-07-20 03:47 pm (UTC)Это уже тут пояснялось словами вида программисты и "программисты". В РФ вот любят программистами вообще кого попало называть, типа если бумагу в принтер заправлять умеешь, то значит программист.
Не всё так однозначно
Date: 2017-07-21 01:38 am (UTC)no subject
Date: 2017-07-20 11:44 am (UTC)"программирование" относится ровно к противоположной области
если в 60-70 в "программисты" шли университетские математики то сейчас "программированию" учат трех-месячные курсы на брайтон бич
я понимаю что кто-то скажет про разный уровень и разное программирование
я же скажу про зарплаты
так вот если чел street smart и продолжает сам учится разным языкам и умениям то зарплата программиста с трех-месячными курсами за спиной (без какого либо образования вообще) может запросто превышать зарплату программиста с очень высшим математическим программистским образованием и наивысшим образом мысли.
программирование вышло из области "университетских знаний" и превратилось в skill которым может овладеть пытливый и талантливый школьник или недоросль сам
поэтому я считаю что "программированию" как профессии учиться не надо
no subject
Date: 2017-07-20 11:55 am (UTC)Есть много примеров?
У меня ощущение было, скорее, обратное. Умение понять, что на самом деле нужно заказчику (а вовсе не то, что он тебе говорит), умение понять, можно ли это сделать вообще, что для этого нужно и как в принципе нужно организовать решение задачи, - всё это требует навыка в анализе и решении задач высокого уровня. А вот найти "быдлокодера", который всё это напишет на любом языке под любую архитектуру процессора, - действительно, вроде бы не проблема. Но не могу себе представить, чтобы "быдлокодер" получал при этом больше, чем архитектор.
no subject
Date: 2017-07-20 12:01 pm (UTC)при этом естественно их больше чем архитекторов процесса
"умение понять" скорее относится к свойству человека чем к его формальному образованию
люди начинают самообразовываться и при наличии таланта и желания прекрасно образовываются до достаточно высокого уровня
поскольку это не моя область оценить из мастерство я не могу
но могу прикинуть как их мастерство оценено другими по их - приблизительно - зарплатам
no subject
Date: 2017-07-20 12:08 pm (UTC)А если надо, к примеру, достроить лифтовую шахту к 4-этажному многоквартирному дому (больная тема, - вот уже полгода у нас под окном идёт такая стройка века), - то вам нужен архитектор-прораб с совершенно другими навыками, который приведёт с собой бригаду мужиков типа, описанного выше.
no subject
Date: 2017-07-20 12:29 pm (UTC)умение быть прорабом - это скорее другой скил
впрочем мой взгляд одновременно и интересен и не интересен
это взгляд человека со стороны
если мне нужно построить дом то да я приглашу архитектора а не рабочего
no subject
Date: 2017-07-20 02:41 pm (UTC)Да полно, на любом сайте вакансий, 2-3 года и типа senior developer. А уж что внутри корпораций делается.
Есть разница
Date: 2017-07-20 12:07 pm (UTC)Самостоятельно овладеть программированием занимает те самые пресловутые 10 тысяч часов. В университет при этом можно ходить, а можно не ходить. Я не наблюдаю корреляции между наличием диплома по Computer Science и умением программировать (без кавычек).
no subject
Date: 2017-07-20 01:51 pm (UTC)Кстати, со мной больше сорока лет назад случилость то же самое.
(Правда уже лет тридцать я программистом не работаю, а в то что я когда-то писала в кодах никто не верит:)
no subject
Date: 2017-07-20 02:01 pm (UTC)К счастью моих родителей, всё кончилось благополучно чистой математикой: хотя ещё какое-то количество кодов я ещё в своей жизни написал, но взрывать и паять больше не пытался...
no subject
Date: 2017-07-20 02:36 pm (UTC)А я поступала на мехмат в 68 году, но меня там завалили на физике. Проходной бал был 13. По письменной математике у меня было 4, по устной - 5, и поэтому тройка по физике вполне была достаточна, чтобы я прекратила мечтать об университете. А тем, кто получил 5 и 5 приходилось ставить двойку. Но некоторые все же добились на аппеляции изменении оценки и поступили. Может, если бы я пошла тогда на аппеляцию, у меня бы тоже что-то вышло, и жизнь сложилась иначе :) А так я кончила вечерний МИЭМ и все годы, пока в России работала писала программы. Такие программы сейчас, конечно не пишут. Я потом для всяких дел еще лепила програмки для сети, на флеше, PHP и пр. Но все они, при всем моем старании попахивали старинными методами программирования, должна честно признаться. Хотя и работали.
20 июля 2017 г., 17:01 пользователь xaxam - DW Comment < dw_null@dreamwidth.org> написал:
no subject
Date: 2017-07-20 02:36 pm (UTC)Вообще есть, и бурно развивается, особенно когда удалось теорию категорий применить в качестве оснований. Вообще идей там несколько: как писать программы которые гарантированно работают (доказанные в математическом смысле), и как вообще не писать программ (типа нейросети сами научатся). Собственно программистов которые пилят годами что-то узкоспециальное большинство, и пилить это самое они будут ещё долго (если в упомянутых областях прорыва не будет, но пока что там только улучшения и первые подходы к предмету).
> пользование каким-нибудь матлабом, даже если оно подразумевает написание довольно длинных скриптов, вряд ли можно отнести к "программированию"
На самом деле можно, но думается мне сам mathlab этому не способствует. Но вот программирование в agda, isabelle/hol или coq местами от деятельности математика не отличается совсем, но тем не менее является программированием.
no subject
Date: 2017-07-20 03:18 pm (UTC)Второе несколько спорно: да. Есть математики, которые разбираются во всяких там когомологиях, и имеют сильный "мозговой мускул". Но в народных глазах тот, кто умеет хорошо и быстро деньги считать, тоже математик.
Поэтому переиначивая вас "написание довольно длинных скриптов, ... можно отнести к "программированию"
А про третье - умолчу, т.к. понятия не имею про что речь.
no subject
Date: 2017-07-20 10:26 pm (UTC)"Программированiе какъ таковое" до послѣдняго времени являлось чисто кустарнымъ занятiемъ вродѣ ремонта автомобилей. Изучать это дѣло лучше всего пару лѣтъ въ ПТУ (гдѣ полезно попрактиковаться въ такихъ технологiяхъ, какъ version control system, test-driven development, continuous integration & deployment, debugging & profiling, relational domain design, OOP architecture design, etc.) и дальше уже набирать опытъ непосредственно на рабочѣмъ мѣстѣ.
Университетамъ было бы безсмысленно предлагать курсы по такому "реально существующему программированiю".
Соотношенiе изучаемыхъ въ университетахъ курсовъ computer science и реально существующаго программированiя такое же, какъ между курсами теормеханики и актуальными сегодня прiемами и инструментами для ремонта автомобилей.
Однако, въ послѣднiя 20 лѣтъ развиваются языки программированiя новаго типа (ML, OCaml, Haskell, Scala etc.), использующiе functional programming и основанные на "functional type theory". Эта теорiя впервые даетъ программисту нѣкоторыя строгiя математическiя средства для написанiя программъ, когда программистъ сначала производитъ нѣкiя вычисленiя въ теорiи типовъ и лишь потомъ начинаетъ писать кодъ.
Естественно, теорiя покрываетъ далеко не всѣ практическiе вопросы программированiя, но такое положенiе естественно для инженерныхъ дисциплинъ. Напримѣръ, радiоинженеръ пользуется теоретической электродинамикой и вначалѣ дѣлаетъ нѣкiя вычисленiя, чтобы спроектировать антенну для новой радiостанцiи, но теорiя описываетъ далеко не всѣ аспекты такого проектированiя.
Чем занимаются программисты
Date: 2017-07-21 12:09 am (UTC)no subject
Date: 2017-07-26 06:27 pm (UTC)Знаешь N языков программирования и переводишь ТЗ с человеческого языка на формальный.
Естественно, надеются когда-либо автоматизировать такой перевод.