Обучение программированию, или языкам программирования |
Здравствуйте, гость ( Вход | Регистрация )
Обучение программированию, или языкам программирования |
19 Jan 2016, 00:02
Сообщение
#21
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Да. Вот и думается - стоило бы обучать: Delphi, C#, HTML + Javascript, PHP. C++, конечно - хоть понятия дать. Lua и Phyton - обозрение. Assembler обязательно. Что за программист, который не различит хотя бы pop от ret? Какой-то слегка неортогональный список. Delphi, C#, PHP, Lua, Python — императивщина разных сортов, с точки зрения language lawyer отличия между ними не такие большие (разный багаж, разной степени ущербности системы типов + попытки навернуть ООП непонятно зачем, разный синтаксис, но синтаксис — это вообще мелочь) Чтобы качать кругозор, нужны разные парадигмы. То есть, например, так: Assembler, Forth, C, Scheme, Haskell, Erlang. В каждом своя парадигма, думать надо совсем по-разному, изучая очередной язык из списка, сознание неизбежно расширяется. Если речь о применении на практике, тогда Delphi тут явно лишний — нет никакой ниши, которую он заполняет. Смысл учить только для поддержки уже написанного старого софта. и да, Сулейман в целом дельно высказался тоже. Тоже самое наблюдается с функциональными языками, пытаюсь научить команду писать хотя бы UI с использованием Rx (это в огромном реактивном на 70% приложении), благо C# очень хорошо подходит для работы в функциональном стиле, но ведь тоже не идет. Просто они, наверное, книгу SICP не прочитали, а если прочитали, то не прорешали. Кстати, всем рекомендую. |
|
|
19 Jan 2016, 00:41
Сообщение
#22
|
|
Immortal Сообщений: 1 462 Спасибо сказали: 3201 раз |
В школе затрагивали немного Basic и Turbo Pascal) А вообще было бы интересно попробовать поучиться программированию. Ведь это искусственные языки, а если даются естественные, то, может, и такие смогут поддаться)
Вот только учить ради изучения бессмысленно. Был бы проект какой - для него бы и стала специально один какой-нибудь язык учить, а так, для общего развития... Для общего развития лучше с sudo и aptitude поковыряться, полезней будет х) |
|
|
19 Jan 2016, 07:52
(Сообщение отредактировал feanor - 19 Jan 2016, 09:18)
Сообщение
#23
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20581 раз |
Цитата Да. Вот и думается - стоило бы обучать: Delphi, C#, HTML + Javascript, PHP. C++, конечно - хоть понятия дать. Lua и Phyton - обозрение. Assembler обязательно. Что за программист, который не различит хотя бы pop от ret? Дело не в том, чему учить (хотя дельфи из списка нахрен, да и пых, наверн, тоже). Дело в том - как. Цитата . То есть, например, так: Assembler, Forth, C, Scheme, Haskell, Erlang. В каждом своя парадигма, думать надо совсем по-разному, изучая очередной язык из списка, сознание неизбежно расширяется. Честн, не вижу причин накручивать парадигмы ради накрутки парадигм.Тем более что упор-то все равно нужен на мейнстрим, иначе тож макдак |
|
|
19 Jan 2016, 08:33
(Сообщение отредактировал Эроласт - 19 Jan 2016, 08:34)
Сообщение
#24
|
|
Зануда Сообщений: 2 236 Спасибо сказали: 2894 раза |
Цитата Assembler обязательно. Что за программист, который не различит хотя бы pop от ret? Я, например. Зачем тому же веб-программисту эти ваши ассемблеры? Ему другое важно - владение системами контроля версий, владение техниками тестирования (tdd/bdd), умение строить модульную архитектуру, умение пользоваться сторонними модулями, привычка постоянно быть в курсе новшеств; возможно, умение пользоваться диалектами (cofeescript, typescript, dart для кода и, там, stylus, less и sass для верстки). Собственно, это все можно отнести к любому высокоуровневому программированию. Хотя для полноты кругозора ассемблер полезен, не спорю. |
|
|
19 Jan 2016, 09:55
Сообщение
#25
|
|
😸🧡✊✌️ Сообщений: 16 000 Спасибо сказали: 2623 раза |
Надо изучать не языки, а парадигмы программирования и технологии проектирования ПО в этих парадигмах. Языки программирования вторичны.
Да, я помню, что язык программирования нужен. Но я не писал, что важно какой. Важно лишь, чтобы поддерживал изучаемую парадигму. Изучаем ФП - LISP. Процедурное - хоть бы и Pascal (только не Object Pascal), C, Modula или Ada. ООП - Smalltalk или C++ (не затрагия шаблоны, которые templates, и рюшечки С++11 и затрагивая шаблоны, которые patterns). Логическое - Prolog (можно Turbo). Факультативно исторические языки, вроде FORTRAN, PL/1, Cobol. Также факультативно эзотерические: FORTH, Intercal, Brainfuck. -------------------- |
|
|
19 Jan 2016, 09:55
Сообщение
#26
|
|
[KBK] I'm a Lion Сообщений: 1 265 Спасибо сказали: 893 раза |
Если вы вообще не программист, но было бы интересно попробовать, реккомендую просмотреть бесплатный курс по "Основам программирования", достаточно интересно и доступно. Хватает что бы понять надо ли вам это или нет. http://geekbrains.ru/courses/58 .
Платные курсы покупать, конечно же, не стоит. Тем более большинство можно найти плавая под черным флагом. -------------------- Devil and Angel with me.
|
|
|
19 Jan 2016, 11:15
(Сообщение отредактировал Сулейман - 19 Jan 2016, 11:20)
Сообщение
#27
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3608 раз |
Цитата Чтобы качать кругозор, нужны разные парадигмы. То есть, например, так: Assembler, Forth, C, Scheme, Haskell, Erlang. Не забывай, что вообще студенту еще работать придется - и на каком из перечисленных языков он это будет делать? Java/C# (+стек технологий - сеть, UI, многопоточность, притом не винформы, а конкретные современные технологии для этих целей), HTML+JavaScript(+стек веб технологий), Haskel/Erlang(уже сильно на поздних курсах для расширения сознания), Assembler и C (в качестве знакомства с микроконтроллерами и может базовых навыков реверсинга), C++ для знакомства с компьютерной графикой (OpenGL, пишем свой рендер). Вот так как-то думаю. И наверное сейчас Rust - в компанию к C#/Java - для умения соединять управляемый и неуправляемый код, ну и чтобы разницу наглядно показать, а заодно хороший пример, чтобы показать какие проблемы стоят перед Computer Science и как их можно решать на уровне языка. |
|
|
19 Jan 2016, 11:52
Сообщение
#28
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Не забывай, что вообще студенту еще работать придется - и на каком из перечисленных языков он это будет делать? Можно подумать, при хорошей обширной базе в голове, учить язык — это такая проблема. Для примера, я не знал Erlang от слова совсем, на работе сказали — будешь участвовать в разработке проекта на Erlang, за пару недель книгу прочитал, попрактиковался и… втянулся в общем. (наверное, если бы я делал что-то не так, мне бы не стали платить за это) Та же история с несколькими другими языками, на которых до этого приходилось что-то писать. Пришёл, увидел, победил — при наличии порядка в голове. Я считаю, обучение должно быть универсальным, а не просто тренировка перед работой. С другой стороны, я всеми конечностями за то, чтобы всех учили пользоваться git, так как это вещь незаменимая на всех этапах жизни, просто не все об этом знают |
|
|
19 Jan 2016, 11:54
Сообщение
#29
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20581 раз |
Цитата Можно подумать, при хорошей обширной базе в голове, учить язык — это такая проблема. ..кадрухе/начотдела это особенно хорошо рассказывать, ага)
|
|
|
19 Jan 2016, 11:56
Сообщение
#30
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Forth — не эзотерика. Суть форта в том, что его относительно легко реализовать, когда на руках есть ничего.
Вообще, эзотерика — это языки, созданные намеренно недружелюбными к программисту, это явно не о форте. |
|
|
19 Jan 2016, 11:57
Сообщение
#31
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20581 раз |
По-моему, толич набросил, причем жырно.
|
|
|
19 Jan 2016, 12:01
Сообщение
#32
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Цитата Можно подумать, при хорошей обширной базе в голове, учить язык — это такая проблема. ..кадрухе/начотдела это особенно хорошо рассказывать, ага)ну да. к хорошему быстро привыкаешь (я про работу в стартапах без кадрух и прочей нечисти) так-то верно, бывают дикие люди в мире. слышал, бывает ещё, что требуют диплом, опыт 10 лет и даже… военный билет ООП - Smalltalk или C++ (не затрагия шаблоны, которые templates, и рюшечки С++11 и затрагивая шаблоны, которые patterns). хм, действительно. ООП на примере C++ (особенно старого) — таки вброс. протекающие насквозь абстракции — это что угодно, но не каноничное ООП. |
|
|
19 Jan 2016, 12:13
Сообщение
#33
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20581 раз |
Цитата так-то верно, бывают дикие люди в мире. слышал, бывает ещё, что требуют диплом, опыт 10 лет и даже… военный билет abuse.gif в том-то и дело, что ВУЗ должен готовить кадры не ток для стартапов и для IT-контор, но и для всяческой нечисти типа поликлиник, заводов, судов и всяческих ФГБУ. Черт подери, даже ментам нужны программисты, хотя я не знаю, что они с ними делают.
|
|
|
19 Jan 2016, 12:18
(Сообщение отредактировал the_new_pirate - 19 Jan 2016, 12:23)
Сообщение
#34
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Менты по айпи вычисляют
На тему образования я к чему клоню — требование диплома и прочих справок слегка бессмысленно, так как их (путём некоторых усилий, но всё же) может получить кто угодно, не обязательно при этом изучив всё. Своими глазами видел кучу людей, которые почему-то очень хотели заполучить диплом, и бегали и сдавали всё обходными путями, списыванием, покупкой решений задач, etc. Получается, реально документы не говорят о каком-то уровне знаний, а зачем тогда их использовать как критерий для ранжирования кандидатов? |
|
|
19 Jan 2016, 12:44
(Сообщение отредактировал Сулейман - 19 Jan 2016, 12:45)
Сообщение
#35
|
|
Immortal Сообщений: 2 459 Спасибо сказали: 3608 раз |
Цитата протекающие насквозь абстракции — это что угодно, но не каноничное ООП. А что там плохо с абстракциями, что течет? Это я не ради троллинга, а действительно интересно мнение. |
|
|
19 Jan 2016, 13:02
Сообщение
#36
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
http://yosefk.com/c++fqa/class.html#fqa-7.4 — например, если говорить о том, что непосредственно к ООП относится. (tl;dr — инкапсуляция отсутствует, изменение внутренностей класса требует перекомпиляции кода, использующего его).
Если считать, что исключения тоже имеют отношение к ООП, то на тему исключений в C++ всё вообще крайне весело |
|
|
19 Jan 2016, 16:15
Сообщение
#37
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20581 раз |
Цитата На тему образования я к чему клоню — требование диплома и прочих справок слегка бессмысленно, так как их (путём некоторых усилий, но всё же) может получить кто угодно, не обязательно при этом изучив всё. Своими глазами видел кучу людей, которые почему-то очень хотели заполучить диплом, и бегали и сдавали всё обходными путями, списыванием, покупкой решений задач, etc. Получается, реально документы не говорят о каком-то уровне знаний, а зачем тогда их использовать как критерий для ранжирования кандидатов? Если с точки зрения здравого смысла - то корреляция все ж есть жи. Другое дело, что в реальности здравого смысла нету, а есть обычный консерватизм. |
|
|
19 Jan 2016, 16:18
Сообщение
#38
|
|
😸🧡✊✌️ Сообщений: 16 000 Спасибо сказали: 2623 раза |
инкапсуляция отсутствует, изменение внутренностей класса требует перекомпиляции кода, использующего его. Решение есть.И ещё, я не говорю, что надо учить ЯП С++, как ООП-язык. Просто на FORTRAN писать программы в ООП парадигме не в пример сложнее. -------------------- |
|
|
19 Jan 2016, 18:23
Сообщение
#39
|
|
Power Member Сообщений: 199 Спасибо сказали: 112 раза |
Строго говоря, любой не управляемый язык с небезопасной моделью памяти и undefined behaviour не может полноправно считаться поддерживающим ООП
|
|
|
19 Jan 2016, 19:01
Сообщение
#40
|
|
пират с чёрной меткой Сообщений: 23 599 Спасибо сказали: 12880 раз |
За что все так не любят Delphi?
-------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
Текстовая версия | Сейчас: 28 March 2024 - 16:51 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |