|
Модераторы: LSD |
|
Nemo2007 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Подскажите...
Я, немолодой уже инженер, которому время от времени приходиться писать программы. По работе или под заказ, но не часто. Так что я не программист в том смысле, что не программирую каждый день и не работаю на фирме создающей программы. Пользуюсь Delphi , последний раз использовал Lazarus (очень понравилось как для бесплатного продукта). Знаю более -менее и использовал всякие Басики и С... Ну не люблю я С... Посоветуйте для изучения в плане саморазвития и повышения конкурентноспособности ЯВУ способствующий "правильномому и надежному программированию" и с хорошей читаемостью программ. А то с с Паскалем ощущать начинаю себя монстром замшелым. Желательно зрелый язык (зрелый в смысле наличия среды разработки, переносимости по платформам, наличию библиотек и т.д. , но есть ли такой?), можно новый, но перспективный. Правильное и надежное прграммирование - в кавычках, т.к. тут могут быть разные вариации, но в целом, наверное, понято всем, что язык у которого А=В означает присваивание значения или приравнивание ссылки на объект в зависимоси от того какое значение было присвоено переменной В 200 строк кода тому назад при переходе по 10 если - это не очень "надежное программирование". Особенно при сопровождении кода через пол года или 3 года после завершения разработки такого участка программы. |
|||
|
||||
Cheloveck |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
Писать плохой код можно на любом языке. Так что опеределение "надёжного" программирования я так и не понял.
Язык, обычно, выбирают от задачи, которую пытаются решать. Из наиболее распространённых на сегодня языков общего назначения можно назвать следующие: C++, C#, Java, Python. Я бы посоветовал Python. У него есть бидндинги к Qt, GTK+ и wxWidgets, при этом он гораздо проще, чем C++. И с кроссплатформенностью у него лучше, чем у некоторых... -------------------- |
|||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
После Дельфи вам будет непросто перестроится. Если вы планируете делать время от времени халтурки, которые будут работать на Windows, то вам ближе всего станет C#. Он впитал в себя компонентную модель Delphi а среда разработки будет вам во многом понятна. Также С# позволит сделать быстрый старт, не сильно углубляясь в дебри.
Но если речь идет и кроссплатформенности и конкурентности на рынке, тогда безусловно стоит выбирать Питон. В отличие от Java, он также может дать быстрый старт, при том что на рынке сейчас дефицит Питон программистов и на него существует большой спрос. Но есть один недостаток - это скриптовый язык, который как многие другие языки стал сейчас модным, за счет использования крупными корпорациями, наподобие Google. Но как и всё модное, он может просто выйти из моды. Поэтому, если хотите действительно чего-то основательного, тогда стоит выбирать Java. Она настолько прочно вошла в мир информационных технологий, что на нее уже не влияют модные течения. И что самое прекрасное в Java - это совместимость между версиями. Код который вы писали 10 лет назад можно спокойно запустить даже сегодня, и даже без перекомпиляции. Это уникальный, в своем роде язык. Ни одна другая технология не смогла достичь таких высот. -------------------- Account removed |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
ИМХО, ява - язык корпоративных вещей... в обычных программах он крайне редко встречается, по минимуму в сегменте СНГ...или мне не попадается)) а вот в направлении Андроида ... это само оно)
про Win и Delphi , можно еще предложить (по dot Net ) Delphi.Net ... тот же C# , но с синтаксисом от дельфей/паскаля... а вообще все зависит от задачи.... я видел продукты , которые делают обработку бинарных файлов, и написаны были на PHP ! просто человек , который писал сей продукт больше ничего не знал... написать можно на чем угодно , но сколько сил и времени уйдет ... будет разным на разных языках! -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 9 Всего: 537 |
(учи (лисп (это весело)))
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
kemiisto |
|
||||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
У Вас больно много союзов "и", там где в реальности бывает только "или".
Вот тут например.
Языки, способствующие саморазвитию, в большинстве своём неконкурентоспособны. Это факт. Углубляться в пространные размышления о текущем состоянии ИТ не буду, ибо лень. Просто примем этот известный факт за отправную точку. Так что Вы должны для начала выбрать: или Вы саморазвиваетесь на всяких Хаскелах, Смоллтолках, Оберонах и прочих, или зарабатываете на хлеб с маслом на конкурентоспособных Жавах, СиШарпах, ЖаваСкриптах, и иже с ними. Ни один инженер это убожество любить не может в принципе. Это нормально, не надо стесняться, здесь все свои. Принимая Ваше определение зрелого языка, такого языка среди способствующих "правильному и надежному программированию" не существует. Тут, в общем и целом, опять же: либо, либо. Разве что из зрелых посмотреть уже озвученную Java, ну или Ada, а из новых D что-ли, или Nim какой-нибудь. Но они не очень то перспективные: D за столько лет так и не взлетел, да и в Nim верится с трудом. Пока писал, пришла мысль то в голову. Полезно на "бумаге" то излагать. Есть таки вариант, если мозгами пораскинуть. Go зовётся. Оно, вроде, уже более менее зрелое, и в тоже время не избыточно сложное и вполне предсказуемое. Но я не уверен, что оно более-менее подойдёт под любую задачу. Например, я без понятия, как у них там с GUI. Добавлено @ 19:34
Питон, как и все остальные язычишки с динамической типизацией, БЕЗнадёжен по определению. Во всех смыслах. И по этой причине ТСу не подходит. Это сообщение отредактировал(а) kemiisto - 19.10.2015, 19:37 -------------------- |
||||
|
|||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
А мужики то не знают! Питон дает компактный и понятный код и обладает широкими возможностями, благодаря чему стал крайне популярен. Стоит вам только засветить в резюме, что у вас был опыт с Питоном, HR-ы вам проходу давать не будут А типизация и все прочее - фигня это всё. Надо прагматически подходить. Если спрос есть - значит оно чего-то стоит. -------------------- Account removed |
|||
|
||||
Guinness |
|
|||
Опытный Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
Да? И давно инженеры не любят Си? Хотя тут наверное стоит определиться в терминах, кто такие инженеры, и чем они занимаются. Если мы подразумеваем под инженерами людей, которым приходится сталкиваться с системным программированием, то, мягко говоря, они не считают Си убожеством. Остальная часть, задействованная в прикладных задачах (вывести графичек, что-нибудь посчитать), конечно, может негативно относится к Си, но это также странно, как если бы человек не любил ножи за то, что ими слегка неудобно закручивать саморезы. Не, я подозреваю, что такое возможно, и такие люди существуют. Но мне кажется, что это индивиды перечитавшие хабр, которые от слова Haskell так перевозбуждаются, что вся кровь от головы отливает в другие места. |
|||
|
||||
Sartorius |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Надо определиться с кругом задач сначала. Можно драйвера писать, можно мат/физ проблемы обсчитывать, визуализацией данных заниматься и т.д. И не каждый ЯВУ (или не ВУ ) под эти задачи подходит. |
|||
|
||||
kemiisto |
|
||||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Мужики знают, мальчики, увы, нет. Первое предложение - враньё. Второе, естественно, правда. Но каким образом оно противоречит тому, что я сказал, понять не удалось.
Плавали, знаем. В согласии с законом Годвина упомянем, что на идеи Гитлер, например, тоже был (да и есть) неплохой спрос, а значит они того стоят. Всё так, всё верно. Здесь и спорить то не о чем. Добавлено через 5 минут и 29 секунд
Это не инженеры. И никому дела нет до того, что Вы там под чем-то подразумеваете. То есть по-вашему, инженеры графички строят? Я Вас умоляю, прекратите участие в срачедискуссии пока не поздно. Не позорьтесь. Вы с кем вообще разговариваете? Сами с собой? Это не ко мне, это к специалистам. -------------------- |
||||
|
|||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ну значит в Google работают сплошь одни мальчики, а все суровые мужики наверно работают исключительно в вашей фирме Если мальчику Россуму Гвидо сейчас 59 лет, то "мужикам", как я понял, должно быть за 100? То есть не дает компактный код? Или понятный код не даёт? Можете привести пример вранья? Ну-ка напишите мне этот кусочек кода на каком-то другом языке, более компактно и понятно?
-------------------- Account removed |
|||
|
||||
Guinness |
|
|||
Опытный Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
Ок, в терминах определились. Правда почему это не инженеры не понятно, ну да ладно. Я привёл довольно распространённые задачи для инженеров: 1) Вычисление результатов на основе каких-то данных. 2) Вывод этих резултатов в виде удобном для анализа. Это прикладные задачи, для решение которых использовать Си не требуется. Более того есть куча языков и фреймворков для их удобного и быстрого решения.
Да, мне в общем-то всё равно, просто стало интересно, что это за инженеры, которые считают Си убожеством. Из всех моих знакомых инженеров и программистов никто к нему негативно не относится. Могут поливать C++, Java, C#, Python и др, но не Си. Да и в интернете к нему никто плохо не относится, только в качестве троллинга. |
|||
|
||||
LSD |
|
||||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 9 Всего: 537 |
Ничего особенного. Даже на Java можно написать так же. А улучшить что либо в 3-х строчках - нереально, максимум все заинлайнить. Но раз ты настиваешь:
компактнее, яснее, быстрее -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Sun |
|
||||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ну в таком случае
Кстати ты пропустил класс обертку для функции main как и саму функцию.
Это сообщение отредактировал(а) Sun - 20.10.2015, 15:17 -------------------- Account removed |
||||
|
|||||
kemiisto |
|
||||||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Биологический возраст, очевидно, не играет здесь никакой роли.
Во-первых, более компактно не означает более понятно. Ну или, как минимум, не всегда означает. Во-вторых, мне, собственно, не понятно, что этот код делает. Компактно зато, да, ты очен крут. Непонятно, правда, ничего, кроме таким же как ты, но кого это волнует? В-третьих, у меня есть обоснованные сомнения, что эту трёхстрочную писульку можно написать так коротко только на Питоне. Анонимные функции и встроенные средства работа со списками есть в куче куда более вменяемых языков. В-четвёртых, к чему эта писулька вообще была? Что она должна была доказать (или опровергнуть)? Что код на Питоне компактный и понятный? Ну, положим, компактный мы увидели. С понятным уже всё плохо. Но разве ТС нужен был ЯП с компактной нотацией? Там же совсем другие требования озвучены. Нет, обязательно нужно пихать этот клоунский язычишко всюду: и там где надо, и где не надо.
Любой инженер по определению должен считать Си убожеством. История создания и основные принципы, заложенные в эту наколенную убогую поделку, которую в приличном обществе и языком то программирования не назовут, противоречат всем известным принципам инженерно-технической деятельности. Ваши какие-то там знакомые "инженеры", либо не инженеры вовсе, а обычные жалкие программистишки, добавляющие в название своей профессии слово "инженер" для весу, либо "непуганные идиоты", которые кроме С ничего не видели. Ну да, если выбирать только из С, то он будет "лучшим".
Это лол, просто. Это что за новый такой критерий качества языка (отсутствие критики в интернете)? А ещё и как избирательно мы на эту критику смотрим: все языки "поливают" грязью заслуженно, на а как С "чмырят" - то это, конечно же, всего лишь неуместный троллинг. Как же, как же. Это сообщение отредактировал(а) kemiisto - 20.10.2015, 15:31 -------------------- |
||||||
|
|||||||
Sun |
|
||||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
То-есть за вашу выдающеюся карьеру, вы достигли гораздо больших высот чем Гвидо Россум? Боже мой! Достойны ли мы тут вообще чатиться рядом с вами?!!
Ну давайте тогда так - напишем функцию вычисления факториала, свою собственную, средствами одного только языка. Используйте для этого на выбор любой язык, который считаете нужным. И попробуем сравнить - будет ли это понятней и компактней чем на Питон. Это сообщение отредактировал(а) Sun - 20.10.2015, 15:50 -------------------- Account removed |
||||
|
|||||
Guinness |
|
|||
Опытный Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
||||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ну чтож, пока наш гигант мысли собирается с мыслями, приведу пример функции факториала на Питоне. Факториал выбран специально, так как на собеседованиях нередко просят написать именно его. Меня обвинили во вранье и я вынужден защищаться. Пример не идеален, но он неплохо раскрывает возможности языка:
-------------------- Account removed |
|||
|
||||
Sartorius |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
А чем так плох тот же факториал на С ?
Кстати какому кандидату Вы отдали бы предпочтение? Который итеративную или рекурсивную реализацию напишет? |
||||
|
|||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
В наше время, если претендент помнит слово факториал - его уже можно брать с руками и ногами Лучше с рекурсией, конечно. Для раскрытия темы. -------------------- Account removed |
|||
|
||||
Sartorius |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
А вот что по этому поводу пишет Макконел
Но это все |
|||
|
||||
Sun |
|
||||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ну хотя бы тем, что для вызова этой функции надо маленький огород нагородить:
тогда как на Питоне полностью рабочая программа будет как:
-------------------- Account removed |
||||
|
|||||
Фантом |
|
|||
Вы это прекратите! Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
Вы таки будете много смеяться, но
Если что - это Фортран. |
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Сисег? Вычисление факториала еще до того как будет выполнена 1я строчка кода
Но за такой синтаксис поубивал бы ))) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Тем не менее, подавляющее большинство интервьюеров хотят увидеть именно рекурсию. Можно сказать требуют этого. Добавлено через 1 минуту и 44 секунды Ну тут вы вызвали готовую функцию sum. Можно усложнить код внутри безымянной функции. -------------------- Account removed |
|||
|
||||
Sartorius |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Alexeis, забавный трюк Но для значений, определяемых во время компиляции, лучше использовать таблицу
|
|||
|
||||
Фантом |
|
||||
Вы это прекратите! Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
Продолжаем ржать. Снова Фортран:
Вызов с выводом, если надо (тоже полная программа):
Добавлено через 2 минуты и 3 секунды Ну я же не упрекаю Вас в том, что Вы воспользовались готовой лямбдой. У каждого языка - свои возможности. Можно, усложните. |
||||
|
|||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Прекрасно! Итого полный код вашей программы занял 5 строк, моей 2. -------------------- Account removed |
|||
|
||||
Фантом |
|
|||
Вы это прекратите! Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
||||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ваш пример выглядит внушающе К сожалению Фортраном не владею, но похоже весьма мощный язык. -------------------- Account removed |
|||
|
||||
Sartorius |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Вряд ли количество строк кода может быть решающим критерием для оценки языка. Но если уж сравнивать, то на достаточном объеме данных: http://blog.wolfram.com/2012/11/14/code-le...n-14-languages/
Python действительно выглядит неплохо по этому параметру. |
|||
|
||||
Sun |
|
|||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Меня обвинили во вранье, что синтаксис Питона а) Компактный б) Понятный Я попытался данным примером доказать свою правоту. Это сообщение отредактировал(а) Sun - 20.10.2015, 18:58 -------------------- Account removed |
|||
|
||||
kemiisto |
|
|||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Меряться количеством строк в программе, считающей факториал? Вы это серьёзно? Остальное даже комментировать лень. Смысл?
-------------------- |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 9 Всего: 537 |
Передергиваешь. Ты для питона используешь repl а для явы требуешь полноценный класс. Твой код кстати тоже не запустится, просто так. Твоя программа ничего не выводит. То что твоя repl среда пишет результат последнего выражения, не означает что там есть вывод. Плюс на 3-м питоне вообще не заработает так просто (helloworld.py - 100 errors, 34 warnings ). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
При прочих равных может. Программы не только пишутся, но и поддерживаются. Компактный код требует меньше усилий для анализа. Функция, которая умещается в 1 экран анализируется быстрее чем функция, которая вмещается в 3 экрана. Мое мнение вообще такое, что идеальный язык программирования должен быть декларативным. Мы должны рассказывать компилятору чего мы хотим и какие условия и ограничения следует наложить, а на выходе получаем готовую программу. Как SQL, например. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
kemiisto |
|
|||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Вот то предложение, которое я называю враньём. Я уже писал, что компактный код не всегда понятный. Чаще всего компактность достигается за счёт очень высокоуровневого синтасического сахара в больших количествах, который ещё нужно освоить, чтобы компактный код стал действительно понятным. Sun знаком с Питоновским сахаром, и компактные программы, написанные с его использованием, ему кажется понятным. Но что будет, если ему показать компактный код на другом, незнакомом ему языке, желательно с принципиально отличным синтаксисом, скажем на каком-нибудь LISP'е? Многи ли он там поймёт? Маловероятно, что вообще поймёт хоть что-то. Вообще, это беда большинства программистов. Узколобость что-ли какая-то, не знаю, как помягче сказать. Тонны синтаксического сахара и прям какое-то сексуальное удовлетворение от возможности в итоге записать никому ненужную функцию факториала в одну вместо десятка строчек! Программирование ради программирования. Проблема в том, что этими играми Вы и вам подобные затянули отрасль в помойную яму. А программируют ведь ещё и нормальные люди, и не ради самого процесса... -------------------- |
|||
|
||||
Sun |
|
||||
Account removed Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Справедливо, а так?
Смысл в том, что вы мне нахамили, и отказываетесь отвечать за свои слова. За сим, не вижу смысла продолжать с вами дискуссию Ваше ЧСВ просто зашкаливает. -------------------- Account removed |
||||
|
|||||
kemiisto |
|
||||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Верно, но разницы между 2 и 5 строчками при этом нет.
В эту игру математики играют уже больше половины века, а инженеры в курсе, что идельным декларативный ЯП никак быть не может, так как он будет слишком далёк от императивной машины. Для каких-то конкретных задач декларативный ЯП может подходить лучше императивного, но ЯП общего назначения должен быть императивным (возможно, с небольшой порцией декларативного высокоуровневог сахарка, если уж где-то кому-то сильно жмёт). Туда, собственно, индустрия и движется: абсолютное большинтсво доминирующих ЯП общего назначения императивны с небольшими включениями декларативных "фич". -------------------- |
||||
|
|||||
Фантом |
|
|||
Вы это прекратите! Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: нет Всего: 49 |
||||
|
||||
kemiisto |
|
||||||
Дикий Кот. =^.^= Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
На Фортране уже написали в теже так милые Вашему сердцу 2 строчки. Зачем мне повторяться? Добавлено через 1 минуту и 48 секунд И да, Fortran - это как LISP что-ли, только работаешь с массивами, а не списками. Добавлено через 3 минуты и 35 секунд И ещё раз повторю: смысла в упражнении с факториалом нет никакого. Добавлено через 11 минут и 30 секунд Но, если Вам так упёрлись однострочние факториалы, то, пожалуйста, держите. Haskell
F#
-------------------- |
||||||
|
|||||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Речь не о том, что мы можем сделать технически имеющимися средствами, а то к чему следует стремится. Т.е. если язык позволяет сообщать компилятору не только как делать, но и что делать то это уже несомненный плюс. Т.е. такой язык развивается в правильном направлении. Строчки складываются в блоки, блоки в подпрограммы. Я согласен, что пример с факториалом ничуть не показателен. Более показательной была реализация различных паттернов, потому что паттерны, это то с чем программист имеет дело каждый день. Например, далеко не все паттерны выглядят изящно и компактно на С/С++, тогда как языки с синтаксическим сахаром позволяют упростить целый класс или функцию до одной тривиальной конструкции. В результате функция на 3 страницы, уменьшается до 10ти строк. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
LSD |
|
||||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 9 Всего: 537 |
Мне уже нравится питон Да кстати, даже на Яве которая как кока-кола лайт - без сахара. Можно написать однострочный факториал.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Nemo2007 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
О-о-о, Ё-ё-ё. Я ж только спросил
Ну ответы ожидаемы. 1) что понимается под надежностью... Конечно писать хорошо можно и на БЭСИКе, но язык может способствовать написанию читаемых, легче сопровождаемых и соответсвующих спецификациям (ожиданиям) программ или нет. Вот классический БЭЙСИК - считается , что не способствует. кто хочет поцеплятся к словам, то под надежностью и "правильностью " ЯВУ я понимаю то-же что и авторы http://www.hse.ru/data/2010/03/28/12174103...ing-1-intro.pdf страницы 4-9 (если ничего не видно, откройте в Адоб Ридере, а не через браузер, к авторам не имею никакого отношения!, просто первое попавшееся, что нашел), кому лень - там ничего особенного - все то, чему учили еще 25 лет назад. 2) Процитирую себя любимого :
"Красивое лучше, чем уродливое. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. Плоское лучше, чем вложенное. Разреженное лучше, чем плотное. Читаемость имеет значение. Особые случаи не настолько особые, чтобы нарушать правила......" Так все хорошо начинается. Масса проектов у энтузиастов... Решил книжки толстые почитать. Поначалу- ничего, вроде читабельность (языка) хорошая, но потом начинается "цирк Пайтона". По моему, эти декларации - брехня. Просто реальная брехня, т.к. Лутц (это типа классика?) сам описывает, подобные выше указанной, "фичи" языка. Их там хватает. И это еще люди типа Вирта не высказывались . Получается, что язык своей философии не соответсвует, "правилам" не соответсует, а популярность набирает. 3) Отсюда вопрос, который я хотел задать сразу, но не решился, опасаясь, что просто не правильно понимаю текущее положение дел. "Какого черта так много говорилось о "правильных" языках программирования, надежности, а реально используется г..но, а популярность набирает мега г..но" Я понимаю, почему С. Другого не было.... Написано много кода... и т.д. ОК. В жабе попытались чуть подправить, все вроде на "ура" восприняли. А дальше приходит Питон, PHP Может все эти проблемы программирования надуманы кабинетными учеными? Так ведь и межпланетные станции не туда летали и ракеты взрывались... Это мы еще про самолеты не знаем, потому как такое рассказывать низззя! Слишком большие деньги. (про самолеты - это только голые догадки, но почему должно быть иначе?) "То самолеты.. А вот в бизнесе обычном, купи-продай, все не так опасно и все нормально работает..." А сколько будет стоить день простоя крупной банковской системы? Не дороже ли взорвавшейся ракеты? С точки зрения рядового программиста, я могу понять- написав код, который хрен кто поймет и сможет сопровождать можно не хило прокачать собственную значимость. Но должны же быть люди, которые бьют линейкой по рукам за такое? Чего- то я не догоняю. 4) пробежав предыдущие посты хочу спросить "Я чего вдруг так часто как достоинство ЯВУ приводится краткость написания какой либо простой функци? Чего Вы за это цепляетесь?" Лаконичность != (читаемость | понятность); Вроде со скоростью набора текста у всех программистов терпимо. Я , например, одним из недостатков С -подобных считаю {}. Дело в том, что эти символы в массе текста сливаются и мало отличаются друг от друга. Да, конечно, стиль и правила программирования... Но если писать кратко в одну строчку? А если так писать нехорошо, то супер краткость - не фига не достоинство. А часто меряются тем,как кратко можно записать ту или иную функцию. Я тоже люблю красиво, но на практике в 60%-80 % случаев после end пишу как коментарий какому if, for, procedure он принадлежит. Нехило позже помогает разобаться во вложенных операторах, но это совсем не кратко. Высказался Пойду , почитаю BlackBox, что ли |
|||
|
||||
Cheloveck |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
Питон раньше явы появился По теме. Как я уже говорил, плохие программы можно писать на любом языке программирования. Кроме того, плохо тоже можно писать на всех языках. Защиты от плохого кода нет негде. Вообще, все эти поиски говорят только о неуверенности в себе ТС. Ты можешь прочесть хоть миллион всяких "Идеальных кодов" и "Рефакторингов", это тебе не поможет писать хороший код. Хороший код -- это тот код, который ты пишешь для того, чтобы читать его через два года.
Тебе надо просто определиться, зачем, для каких задач, тебе нужен ЯП. После посмотри, на каких языках обыно решают подобные задачи и вперёд. Например, есть задачи, для которых принято (было?) использовать TCL. А после того, как один язык освоишь, другие языки не вызовут вообще никакой сложности. Разве только всякие Erlang`и Haskell`ы, но и они не станут проблемой, если ты поймёшь, зачем тебе они нужны. -------------------- |
||||
|
|||||
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |