The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Рейтинг языков программирования 2017 года от издания IEEE Sp..., opennews (??), 23-Июл-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


86. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 14:31 
>> На Питоне легко писать алгоритмы.

Зачем пудрить мозги? Ну не пригоден это язык для реальных алгоритмов. Большие данные на нём или любой серьёный анализ данных в нынешнем виде - не более чем нашлёпка над C/C++/Java/Rust-библиотеками

Для веба хайп - Javascript. Ну или Ruby.

Питон - это временный язык, популярность которого сделана в первую очередь силами того же гугла. Не забывайте про то, что если бы не гугл - про питон бы сейчас не вспоминали. Писали бы себе на каком-нибудь Ruby и радовались чистому синтаксису. Гугл же его теперь хоронит, внедряя Go везде, где только можно.

Ответить | Правка | Наверх | Cообщить модератору

103. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 15:23 
Питон очень хорош как прикладной язык. И на нём можно быстро решать задачи, которые не требуют максимальной производительности. Тот факт, что он интерпретируемый, позволяет писать на нём скрипты для автоматизации тех или иных задач. Если интересно, почему он может быть иногда лучше чем bash, посмотрите лекции Виктора Ашика по Питону. Он очень интересно и хорошо рассказывает.

Также Питон уже стал стандартом де факто для научных вычислений. Поэтому в университете знание этого языка будет бесценно. В частности библиотеки NumPy.

Если Вы серьёзно думаете, что в сфере научных вычислений в ближайшем будущем Python сможет что-то заменить, то сильно ошибаетесь. Он уже начинает конкурировать, если не заменять, MatLab. А это говорит о многом. Поэтому расценивать его как временный язык, - это иметь плохую интуицию.

Каждый язык занимает свою нишу, где он наиболее пригоден и удобен к использованию. Ещё немаловажную роль в данном процессе играет его популяризация (обычно она начинается силами сообщества, если язык удобен).

Ответить | Правка | Наверх | Cообщить модератору

107. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 15:52 
> Питон очень хорош как прикладной язык. И на нём можно быстро решать
> задачи, которые не требуют максимальной производительности. Тот факт, что он интерпретируемый,
> позволяет писать на нём скрипты для автоматизации тех или иных задач.
> Если интересно, почему он может быть иногда лучше чем bash, посмотрите
> лекции Виктора Ашика по Питону. Он очень интересно и хорошо рассказывает.

Существует много языков, удобнее чем bash для администрирования, но это не питон. В MacOS, например, почти стандартный менеджер пакетов https://brew.sh/ (подсказываю - написан на Ruby). То же в отношении коммерческих линуксов SUSE (yast странно, но написан на Ruby :-) )

> Также Питон уже стал стандартом де факто для научных вычислений. Поэтому в
> университете знание этого языка будет бесценно. В частности библиотеки NumPy.

"про дефакто" - перебор. Во-первых R и Octave никуда не делись и сравнивать их с NumPy мягко говоря некорректно, потому что ну уж слижком коряво на питоне пишутся матричные операции. Во-вторых есть http://sciruby.com/ и Jupyter Notebook, где также питон нужен лишь для запуска оболочки Jupiter.

> Если Вы серьёзно думаете, что в сфере научных вычислений в ближайшем будущем
> Python сможет что-то заменить, то сильно ошибаетесь. Он уже начинает конкурировать,
> если не заменять, MatLab. А это говорит о многом. Поэтому расценивать
> его как временный язык, - это иметь плохую интуицию.

Rust?
Опять же, Octave и R?

> Каждый язык занимает свою нишу, где он наиболее пригоден и удобен к
> использованию. Ещё немаловажную роль в данном процессе играет его популяризация (обычно
> она начинается силами сообщества, если язык удобен).

Не совсем так. Люди верят в то, о чём говорят больше. Можно заставить верить людей во что угодно. Питон - очень корявый язык с точки зрения модели. С родовыми проблемами обработки юникодных строк. Сравните питон с Ruby или с современными языками, например (не забываем, что питону скоро будет 30 лет). Сложно сказать, с чем связана нынешняя популярность питона. Ясно, что она же ему и выйдет боком - подобрать программистов с нужной квалификацией на фоне "вчера_книжку_о_питоне_прочитал" будет очень сложно.

Ответить | Правка | Наверх | Cообщить модератору

132. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –3 +/
Сообщение от Аноним (-), 23-Июл-17, 22:17 
>> Существует много языков, удобнее чем bash для администрирования, но это не питон.

Лекцию Ашика посмотрели? Нет? Спор из разряда "сами не знаем, о чём говорим"?

Ответить | Правка | Наверх | Cообщить модератору

136. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 22:22 
> Лекцию Ашика посмотрели? Нет? Спор из разряда "сами не знаем, о чём
> говорим"?

Как бы он хорошо ни говорил, первый вопрос, достаточна ли его квалификация, чтобы сравнивать? Какие языки программирования он использовал? Если кроме питона он ничего не знает, но "язык подвешен", ясное дело, он будет о нём хорошо рассказывать.

Безусловно сейчас питон знать надо, иначе как с него переписывать полезные программы. Но писать на нём что-то новое - вроде как и незачем.

Ответить | Правка | Наверх | Cообщить модератору

166. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 10:21 
Мой опыт, согласен, Вы никак не проверите. Хотя могу подтвердить, часть задач на bash решать бессмысленно. Часто комбинирую скрипты на bash со скриптами на python. Получаются быстрые и эффективные решения.

Но Ашик сотрудник Яндекса, возьмите да поищите, какие языки он хорошо знает. Или Яндекс не в авторитете? Или лень искать, а поспорить хочется?

А в лекции он собственно сам говорит, что по Питону он не профи, но его знаний хватает для вводных лекций. И там же он приводит в пример задачу, которую ему ставили по работе. Задачу на bash он не смог написать вовремя, т. к. сложность зашкаливает, а вот на Python эта задача решалась бы достаточно быстро. Но на то время он не догадался до этого.

Ответить | Правка | Наверх | Cообщить модератору

170. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +2 +/
Сообщение от Аноним (-), 24-Июл-17, 11:04 
> Мой опыт, согласен, Вы никак не проверите. Хотя могу подтвердить, часть задач
> на bash решать бессмысленно. Часто комбинирую скрипты на bash со скриптами
> на python. Получаются быстрые и эффективные решения.

Вопрос не в том, можно ли решать задачи на питоне. Моё утверждение, что питон - старый язык с корявым синтаксисом и непоследовательной моделью программирования (реально же микс ООП с процедурным). На нём одинаково коряво что ООП программы писать (см. в сравнении сRuby, например, как спросить у объекта-массива какова его длина), что пытаться выполнять матричные операции (см. R).

> Но Ашик сотрудник Яндекса, возьмите да поищите, какие языки он хорошо знает.
> Или Яндекс не в авторитете? Или лень искать, а поспорить хочется?

Яндекс - большая забюрократизированная компания. Ясное дело, что у них есть сотрудники разной квалификации. Поскольку никакой внешней сертификации нет, то говорить о квалификации их сотрудников только на основании того, что это яндекс - как-то странно. Экзаменовать Ашика мне тоже как-то не к чему.

> А в лекции он собственно сам говорит, что по Питону он не
> профи, но его знаний хватает для вводных лекций. И там же
> он приводит в пример задачу, которую ему ставили по работе. Задачу
> на bash он не смог написать вовремя, т. к. сложность зашкаливает,
> а вот на Python эта задача решалась бы достаточно быстро. Но
> на то время он не догадался до этого.

И что? Взял бы Perl или Go - тоже написал бы быстрее чем на bash. Как это противоречит тому, что питон - старый язык с корявым синтаксисом, который давно следует заменить и забыть?

Возьмите лекции по Ruby, например, и посмотрите что это такое. Как, впрочем, и по любому другому скриптовому языку.

Ответить | Правка | Наверх | Cообщить модератору

199. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 14:43 
>> И что? Взял бы Perl или Go - тоже написал бы быстрее чем на bash. Как это противоречит тому, что питон - старый язык с корявым синтаксисом, который давно следует заменить и забыть?

Давайте так, Вы сначала возьмёте и решите ту задачу, которую ему ставили на Perl или Go. А потом будете доказывать, насколько это легче и быстрее, чем на Python. Договорились?

Ответить | Правка | Наверх | Cообщить модератору

210. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 24-Июл-17, 15:36 
> Давайте так, Вы сначала возьмёте и решите ту задачу, которую ему ставили
> на Perl или Go. А потом будете доказывать, насколько это легче
> и быстрее, чем на Python. Договорились?

В чём заключалась задача?

А вообще см. https://codefights.com/ - там решают задачки на разных языках и сравнивают эффективность решения. Впрочем, ошибка тоже может быть вследствие численного перекоса по некоторым языкам.

Ответить | Правка | Наверх | Cообщить модератору

215. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 16:34 
Чтобы узнать, Вам необходимо посмотреть лекцию Яндекса:
https://events.yandex.ru/lib/talks/2320/

Объясню, почему я не говорю саму задачу. Всё просто. Если я её скажу, Вы снова начнёте препираться, потом сноваи снова, и так до бесконечности. Т. к. не имеете, очевидно, большого опыта программирования на разных языках. Если же Вы посмотрите лекцию, то узнаете много нового и, возможно, прекратите бессмысленные споры по вопросам, в которых не являетесь компетентными. Большая часть того, что в споре можно обсудить есть в той лекции. Мне проще скинуть Вам ссылку.

Ответить | Правка | Наверх | Cообщить модератору

216. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +1 +/
Сообщение от Аноним (-), 24-Июл-17, 17:10 
> Чтобы узнать, Вам необходимо посмотреть лекцию Яндекса:
> https://events.yandex.ru/lib/talks/2320/
> Объясню, почему я не говорю саму задачу. Всё просто. Если я её
> скажу, Вы снова начнёте препираться, потом сноваи снова, и так до
> бесконечности.

Зачем отправлять смотреть размусоленную лекцию? А товарищ то реально не быстрый в части выражения основной идеи. Если задачу нельзя сформулировать коротко и текстом, то эта задача очень странная...

> Т. к. не имеете, очевидно, большого опыта программирования на разных
> языках.

Скажите честно, лет 5 опыта программирования хотя бы имеете? Хотя бы тот же пяток языков программирования реально использовали (не в студенческих задачках, а на чём-нибудь более-менее серьёзном)? Или кроме питона и баш больше ничего видеть не доводилось?

>  Если же Вы посмотрите лекцию, то узнаете много нового и,
> возможно, прекратите бессмысленные споры по вопросам, в которых не являетесь компетентными.

Хороший аргумент, когда не на что больше опереться в ответе. Дальше обычно идёт ругань и рукоприкладство (если встреча личная).

Ответить | Правка | Наверх | Cообщить модератору

220. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 17:28 
>> А товарищ то реально не быстрый в части выражения основной идеи. Если задачу нельзя сформулировать коротко и текстом, то эта задача очень странная...

Техническое задание называется. Добро пожаловать в мир крупных проектов. Причём у него она была уже декомпозированная.

>> Скажите честно, лет 5 опыта программирования хотя бы имеете? Хотя бы тот же пяток языков программирования реально использовали (не в студенческих задачках, а на чём-нибудь более-менее серьёзном)? Или кроме питона и баш больше ничего видеть не доводилось?

5 лет программирования "для себя" по юности: Паскаль (даже немного успел поиграться с программированием графики в EGA напрямую через порты), Бейсик, Делфи, OpenGL); ещё 6 лет программирования для себя, уже без упора на алгоритмизацию (ПХП, JS+HTML+CSS, bash). Немного ознакомился с ассемблером в рамках микроконтроллеров. Пара - тройка лет на ознакомление с другими языками (Java, C#, C, C++, SQL/mysql/psql). И ещё около 5 лет системного программирование на Си уже по работе с параллельным изучением Python и более глубоким изучением Си. Профессиональным программистом на Python не являюсь, т. к. использую пока только для прикладных задач. В работе использую любые языки, какие посчитаю выгодными. У меня нет предвзятости или личных предпочтений (это тоже невыгодно, когда работаешь в проекте).
В скором будущем хочу ознакомиться с Go и его поддержкой сообществом, т. к. Python некоторые считают уже обросшим слишком разношёрстными возможностями, усложняющими совместную разработку (по этой причине один из сотрудников Яндекса перешёл в другую контору, где начал писать на Go).

Устроит? Или мало?

Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

222. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 24-Июл-17, 17:51 
> Техническое задание называется. Добро пожаловать в мир крупных проектов. Причём у него
> она была уже декомпозированная.

Нет у меня 55 минут времени слушать того товарища. И выступлением на видео ТЗ никто не записывает. Если заказчик хочет получить вменяемое решение, ТЗ будет чётким и кратким.

>[оверквотинг удален]
> Си уже по работе с параллельным изучением Python и более глубоким
> изучением Си. Профессиональным программистом на Python не являюсь, т. к. использую
> пока только для прикладных задач. В работе использую любые языки, какие
> посчитаю выгодными. У меня нет предвзятости или личных предпочтений (это тоже
> невыгодно, когда работаешь в проекте).
> В скором будущем хочу ознакомиться с Go и его поддержкой сообществом, т.
> к. Python некоторые считают уже обросшим слишком разношёрстными возможностями, усложняющими
> совместную разработку (по этой причине один из сотрудников Яндекса перешёл в
> другую контору, где начал писать на Go).
> Устроит? Или мало?

Это лучше. Однако отсутствие бакграунда на Perl, Ruby, Octave, R чувствуется. Для того, чтобы сравнивать что-то надо знать альтернативы. А в Вашем случае потому и проблема смотреть на питон как на один из многих (не лучших) инструментов, что альтернативы не знаете. Отсюда и отсылки к мутной лекции яндекса. К слову, один из таких лекторов по питону в мейл-ру нашел работу в Германии на руби/реальсы. А тут студентам рассказывал, что питон нужнее всего. Да и сторого говоря, таким конторам как яндекс вполне по силам заниматься контрпропагандой, рассказывая о каких-то технологиях, которые они хотели бы, чтобы использовали конкуренты, но только для того, чтобы они всегда были позади. Не утверждаю, но технически они могут.

Ответить | Правка | К родителю #220 | Наверх | Cообщить модератору

223. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 19:21 
>> Техническое задание называется. Добро пожаловать в мир крупных проектов. Причём у него
>> она была уже декомпозированная.
> Нет у меня 55 минут времени слушать того товарища. И выступлением на
> видео ТЗ никто не записывает. Если заказчик хочет получить вменяемое решение,
> ТЗ будет чётким и кратким.

Отказ от саморазвития - есть тупик в карьерной лестнице. Я часто своим ребятам на это намекаю. ;) Краткое ТЗ? У нас вот задача калькулятор написать в качестве тестового задания (далее он внедряется в проект). Два листа формата A4 с кратких перечнем. Я конечно, могу сказать "Сделай мне калькулятор!" Но тут как бы студент сделает совсем не то, что хотелось бы. Во-первых, он будет писать свой парсер, что долго и тяжело в поддержке. Значит в техзадании будет обозначен bison+flex. Далее, для переменных он может писать свои функции для хэширования на основе бинарных деревьев. Опять же зачем, если можно использовать готовые либы? Значит Си++ или С+eina или что-нибудь подобное. В конце концов потом проще будет библиотеку подменить на вариант нашей реализации. Ну и сам функционал. Я же не хочу, чтобы у меня калькулятор делал операцию деления через %, я хочу именно через /.

Поэтому тех. задание будет большим. На самом деле задания в виде "сделай мне калькулятор!" присущи для маленьких контор (небольшое число программистов). Я, например, в такой работаю. Но это означает, что тех. задание не расписывается, а даётся устно, т. к. каждый программист в курсе того, что делают все остальные. Нет нужды тратить время на лишнюю бюрократию. А бюрократия начинается, когда количество команд уже 2, либо идёт сотрудничество с другой компанией в совместной разработке и т. п.

Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

252. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +1 +/
Сообщение от Аноним (-), 25-Июл-17, 11:31 
> Поэтому тех. задание будет большим. На самом деле задания в виде "сделай
> мне калькулятор!" присущи для маленьких контор (небольшое число программистов). Я, например,
> в такой работаю. Но это означает, что тех. задание не расписывается,
> а даётся устно, т. к. каждый программист в курсе того, что
> делают все остальные. Нет нужды тратить время на лишнюю бюрократию. А
> бюрократия начинается, когда количество команд уже 2, либо идёт сотрудничество с
> другой компанией в совместной разработке и т. п.

Откройте ГОСТ 34.602-89 и посмотрите, что входит в состав технического задания. Если это не ТЗ на АСУ ТП, оно весьма компактно.

В отношении 2-х листов текста - это 4 минуты доклада, а не 55 как в видео, на которое Вы ссылаетесь.

В отношении саморазвития, если времени море и делать нечего, то можно слушать кого угодно. Если же времени катастрофически не хватает, смотреть часовые лекции с материалом на 10 минут - это преступление. Проще прочитать того, кто смог выразить свои мысли, идеи и опыт в сжатой и понятной форме.

Ответить | Правка | К родителю #223 | Наверх | Cообщить модератору

257. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 25-Июл-17, 16:46 
В видео тоже минут 5  он рассказывает суть задачи. А вот чтобы понять разницу между bash и python, неообходимо знать основы Питона и bash. Предполагая, что многие bash тут знают, остаётся кратко ознакомиться с python. Для этого лекция как раз подойдёт. А если человек доказывает, что Питон не подходит для задач автоматизации, то скорее всего он просто с ним не знаком (а значит любой спор становится бессмысленным). Простая логика.
Ответить | Правка | К родителю #252 | Наверх | Cообщить модератору

267. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +1 +/
Сообщение от Аноним (-), 26-Июл-17, 09:54 
> А если человек доказывает, что Питон не подходит для задач автоматизации, то скорее всего он просто с ним не знаком (а значит любой спор становится бессмысленным). Простая логика.

Человек отбращает внимание на то, что для задач автоматизации существует куда больше языков, чем питон и баш. И что невозможно человеку, который из скриптовых языков знает только баш и питон, понять, что существуют боле приличные альтернативы. Можете сколько угодно кричать про питон - "лучший язык для автоматизации", но факт того, что питон является устаревшим плохо спроектированным языком программирования с нерегулярным синтаксисом и отсутствием целостной модели программирования это не отменяет. Отсылки в лекцию с автором, который тоже ничего кроме питона не знает, ситуацию ну никак исправить не может. Надо реально хотя бы пощупать питон, руби, го. В противном случае да, "любой спор становится бессмысленным"

Ответить | Правка | К родителю #257 | Наверх | Cообщить модератору

276. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 26-Июл-17, 20:31 
Может быть существуют... а какая вероятность больше: что существуют или что не существуют?
И я не кричал, что он лучший для автоматизации, это остальные пытаются что-то доказать. Я же говорю, что он прекрасно _подходит_ для задач, которые тяжело решать в командных интерпретаторах. Это Ваше право изучить досконально штук 10 языков, а потом выбрать один, которые подходит для исходной задачи. Лично я не собираюсь тратить море всего времени на то, что вряд ли мне в жизни вообще пригодится. Моя интуиция способна обработать достаточное количество данных, чтобы сделать выводы о вероятностях и прогнозах. Я лучше углублюсь в математику, если у меня есть свободное время. А новые языки изучаются по ходу надобности. Лучше быть профессионалом в нескольких языках и приносить доход компании, чем быть человеком, которые просто знает много языков. В случае необходимости переквалифицироваться достаточно легко, поверьте.
Ответить | Правка | К родителю #267 | Наверх | Cообщить модератору

221. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 17:33 
> Хороший аргумент, когда не на что больше опереться в ответе. Дальше обычно
> идёт ругань и рукоприкладство (если встреча личная).

Дальше обычно делают лёгкий поворот в сторону и поворачивают ступни ног в сторону выхода. Затем быстро уходят при первой попавшейся возможности. Это называется "скучно".

Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

243. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 25-Июл-17, 01:10 
> Чтобы узнать, Вам необходимо посмотреть лекцию Яндекса:
> https://events.yandex.ru/lib/talks/2320/

Что, и расшифровки нет? Вместо того, чтобы максимум за минуту прочитать условие, предлагаете смотреть часовой ролик?

Ответить | Правка | Наверх | Cообщить модератору

258. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 25-Июл-17, 16:48 
>> Чтобы узнать, Вам необходимо посмотреть лекцию Яндекса:
>> https://events.yandex.ru/lib/talks/2320/
> Что, и расшифровки нет? Вместо того, чтобы максимум за минуту прочитать условие,
> предлагаете смотреть часовой ролик?

В жизни не всё так просто. ;) Вот скинут вам pdf с документацией и скажут найти, как сделать какую-то мелочь. Вы сначала через ctrl+f потратите минут 20 на тщетные поиски, а потом просто начнёте читать нужные пункты. Такое не редкость.

Ответить | Правка | К родителю #243 | Наверх | Cообщить модератору

147. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –2 +/
Сообщение от qsdg (ok), 24-Июл-17, 01:49 
Подтверждаю, в американских универах все профессора пишут скрипты на Питоне. Спрашивал чуваков из NASA чем они фотки с телескопов обрабатывают -- тоже Питон.

Потому что им нужно быстро и чтобы работало, а поддерживать им не нужно, это одноразовый скрипт, для одной конкретной задачи. Поэтому они и не привыкли выкладывать эти скрипты никуда.

А вот в Гугле -- наоборот, от Питона отказываются, говорят что лучше писать скрипты на Баше, чем на Питоне -- тогда быстрее приходит понимание что нужно это всё выбросить и переписать на Java. Даже тот код-ревью проект, написанный самим Гвидо ван Россумом переписали на Джабе, и правильно сделали, потому что поддерживать его было одним мучением.

Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

167. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 24-Июл-17, 10:26 
> Подтверждаю, в американских универах все профессора пишут скрипты на Питоне. Спрашивал
> чуваков из NASA чем они фотки с телескопов обрабатывают -- тоже
> Питон.

google site:www.deeplearningbook.org python

Сарказм насчёт университетов, говорите... Найдёте что-нибудь кроме Си, C++  и Python? Дальше сами додумаете смысл своего сообщения.

Ответить | Правка | Наверх | Cообщить модератору

171. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 24-Июл-17, 11:07 
> google site:www.deeplearningbook.org python
> Сарказм насчёт университетов, говорите... Найдёте что-нибудь кроме Си, C++  и Python?
> Дальше сами додумаете смысл своего сообщения.

http://shop.oreilly.com/product/0636920032298.do
http://sciruby.com/
https://github.com/somaticio/tensorflow.rb
...

Ответить | Правка | Наверх | Cообщить модератору

201. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 14:57 
>> google site:www.deeplearningbook.org python
>> Сарказм насчёт университетов, говорите... Найдёте что-нибудь кроме Си, C++  и Python?
>> Дальше сами додумаете смысл своего сообщения.
> http://shop.oreilly.com/product/0636920032298.do
> http://sciruby.com/
> https://github.com/somaticio/tensorflow.rb
> ...

https://github.com/tensorflow/tensorflow/tree/master/tensorf...
Может тогда уже на сам tensorflow? Я тоже могу найти первую попавшуюся ссылку на исходники, но уже на Tensorflow с python.

А теперь, внимание, ядро:
https://github.com/tensorflow/tensorflow/tree/master/tensorf...
Угадаете язык? Да, это Си. Серьёзные вещи обычно пишутся на Си, прикладные, на языках попроще (Python, например).

А теперь сравниваем. Я скинул ссылку на книгу, которую рекомендовал Алан Маск (Тесла), а также рекоменованная mail.ru Group. Кто на данный момент в числе самый крупный компаний по разработке ИИ? Правильно, Тесла. Если не угадали, то забудьте про пирожок в холодильнике. А теперь что Вы скинули? Ссылку на какую-то книгу, сути, зачем Вы её показали я не понял.

Что касается университетов. Кто является издателем книги? Кто такие MIT? Дальше тоже сами додумаете.

Далее. Та книга, на которую я скинул ссылку,

Ответить | Правка | Наверх | Cообщить модератору

212. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +1 +/
Сообщение от Аноним (-), 24-Июл-17, 15:43 
> А теперь что Вы скинули? Ссылку на какую-то книгу, сути, зачем Вы её показали я
> не понял.

Эти ссылки были лишь к тому, что без питона вполне можно решать задачи ИИ и пользоваться современными методами.

Ответить | Правка | Наверх | Cообщить модератору

217. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 17:10 
>> А теперь что Вы скинули? Ссылку на какую-то книгу, сути, зачем Вы её показали я
>> не понял.
> Эти ссылки были лишь к тому, что без питона вполне можно решать
> задачи ИИ и пользоваться современными методами.

А кто спорит, можно и на Паскале, может быть даже для Ады где-то байндинги найдёте для популярных либ. Вопрос в другом. А зачем? Давайте с самого начала. Какими критериями руководствуются при выборе языка? У обычных программистов "для себя" обычно критериями является новизна и необычность языка. Это объясняется психологией, людям всегда хочется показать свою индивидуальность, а лучше всего для этого изучить что-то такое, что другое не знают, либо оно слишком сложное для понимания. Итак, а теперь по пунктам в коммерческом проекте.

1. Дешевизна разработки. Скорость написания кода должна быть максимальной, но при этом необходимо учитывать важность производительности, дальнейшей доработки (читабельность кода, понимание программистами друг друга). Программисты под данный язык должны существовать. Мало того, необходимо, чтобы можно было найти профессионала, который будет руководить проектов, если проект большой. Обучение программиста под какой-нибудь новый или плохо документированный язык, - очень дорого.

2. Доступность и стабильность данного языка в том дистрибутиве, под который ведётся разработка. Если требуется постоянно собирать новые версии, вести бесконечный рефакторинг из-за нестабильного API, - тоже невыгодно (по этой причине до сих пор иногда используется второй Питон).

3. Язык должен быть старым, либо хотя бы проверенным. Это гарантия того, что можно решать необходимую задачу средствами данного языка без проблем. Проблемами могут быть отсутствие библиотек под определённые в рамках задачи нужды, наличие общепринятых шаблонов программирования, чтобы велосипеды получались похожими, а не так, что у одного одноколёсным, у другого 5 колёс, у третьего два колеса, одно в 5 раз больше другого. Ездить будут все, но на разработку каждого люди потратят больше времени (необходимо рассчитать коэффициент передачи между колёсами, либо спроектировать связь между всеми 5-ю колёсами), чем на разработку обычного двухколёсного, для которого можно найти обычную цепь в магазине запчастей и соединить два абсолютно одинаковых колеса (аналогия: цепь - библиотека, которую уже использовали в подобных задачами, колесо - тоже).
Только очень крупные компании могут себе позволить писать на новых языках, т. к. там есть отделы, которые заранее проведут исследования, на основании которых можно будет спрогнозировать в долгосрочной перспективе развитие продукта на данном языке с учётом всех рисков.

4. Наличие значительного набора библиотек под данный язык (т. е. его популярность). Это очень важный фактор. И его всегда предусматривают заранее. Мало того, желательно, чтобы данные библиотеки были уже доступны в основных дистрибутивах, т. к. сборка из исходников обычно сопряжена с рядом рисков, которые могут дорого обойтись (например, исправление ошибок сборки под целевую платформу).

Ответить | Правка | Наверх | Cообщить модератору

178. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +1 +/
Сообщение от Аноним (-), 24-Июл-17, 11:36 
мне тоже питон не по душе, вроде и быстро на нем все решить можно, да вот от всех этих сокращений всего в языке, отступов - едет крыша..
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

207. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 15:16 
> мне тоже питон не по душе, вроде и быстро на нем все
> решить можно, да вот от всех этих сокращений всего в языке,
> отступов - едет крыша..

Задумка такая была. Чтобы нельзя было огороды городить, как в Си. Столько разных стилей написания кода, что от одного к другому проекту приходится привыкать. Я уже молчу, что во многие проекты контрибутят изменения с разными стилями, что приводит к жути, если размер табуляции не соответствует размеру, который был у разработчиков.

Ответить | Правка | Наверх | Cообщить модератору

233. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Led (ok), 24-Июл-17, 21:42 
> Задумка такая была. Чтобы нельзя было огороды городить, как в Си. Столько
> разных стилей написания кода, что от одного к другому проекту приходится
> привыкать. Я уже молчу, что во многие проекты контрибутят изменения с
> разными стилями, что приводит к жути, если размер табуляции не соответствует
> размеру, который был у разработчиков.

man indent

и не плачь.

Ответить | Правка | Наверх | Cообщить модератору

236. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 24-Июл-17, 22:06 
Мы используем clang-format. Не благодари. Но тем не менее, я вроде про проекты вообще говорил.
Ответить | Правка | Наверх | Cообщить модератору

251. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –2 +/
Сообщение от Аноним (-), 25-Июл-17, 09:27 
>NASA

Тоже нашел, у кого брать пример. Ты видел их opensource-проекты? Они все написаны на разных ЯП. И скажу больше, что на качество они кладут большой болт. У них хватает мощностей, чтобы все было относительно быстро даже хоть на питоне, хоть на баше. Т.е. они просто зажравшиеся людишки, поэтому пишут на чем удобно _им_.

Если говорить о вечном, производительном, то ничего лучше сишки и плюсов пока не придумали. И что-то все об этом забывают, хотя, что любой проект на  питон, что перл, пхп, руби на 40-60% использует сишные модули. Ах, ну, эти модули, такие как коннекторы к БД, написаны не для макак! Поэтому макаки даже не знают, чем пользуются. А посему и кричат кругом насколько их питон крут.

Это не питон крут, а вы ламерье. Все крутое написано и пишут до сих пор на сишке, кои макаки так ненавидят. Тьфу на вас.

Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

113. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 18:21 
> Питон - это временный язык, популярность которого
> сделана в первую очередь силами того же гугла

ну вот это неправда, причем 100%-ная. я говорю это как питон-юзер с самых первых релизов. популярность к питону пришла задолго до всякого гугл-хайпа (да и был он этот гугл хайп?). Он уже тогда в НАСА использовался. Я напомню, к тому моменту, как Гугл с руками и ногами стали рвать к себе на работу Гвидо и его друзей, питон уже по популярности был выше перла и по сути был САМЫМ успешным быстроразвивающимся языком. И причем тут Гугл? Питон в кремневой долине используется в чуть ли  каждой не первой конторе. Он простой. На нём очень быстро реализуются прикладные задачи. Он прекрасно подходит для мат. вычислений, для научных вычислений. Для него созданы научные модули (под астрономию, физику, химию), которых близко нет нигде больше. Питон прекрасно работает как язык для разработки сет. софта, серверов всех мастей, на нем пишут адм. утилиты. Гвидо (создатель языка) просто гениально угадал с концептом языка, его модульностью, простотой и лозунгом "пиши со скоростью мысли", функциональное программирование и ооп на питоне так это вообще айс. Питон это как Си, короче язык на ближайшие лет 50. В питоне есть пожалуй все. Море кода, море доков, огромное сообщество. Чего еще можно желать?

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

137. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 23-Июл-17, 22:26 
> Чего еще можно желать?

Гибкость и лаконичность Руби?
Чистоту конструкций как в Руби?
Выражение программы на языке, понятном неподготовленному человеку, но являющемуся носителем естественного языка как в Руби?

Ответить | Правка | Наверх | Cообщить модератору

238. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 25-Июл-17, 00:17 
Можно вопрос? Вы на Руби деньги зарабатываете, или просто для себя что-то пишите?
Ответить | Правка | Наверх | Cообщить модератору

253. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 25-Июл-17, 11:34 
> Можно вопрос? Вы на Руби деньги зарабатываете, или просто для себя что-то
> пишите?

Когда как. Сейчас скорее для себя, деньги на Java. Бывшие коллеги - зарабатывают деньги на Руби. Но не в РФ.

Ответить | Правка | Наверх | Cообщить модератору

262. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 25-Июл-17, 23:15 
Так и подумал. Спасибо. Были мысли ознакомиться с языком, но задача, ради которой хотел ознакомиться отпала. Как я смотрю, руби часто используется в DevOps. Но пока не понимаю, почему так сложилось. В том же java есть фреймворк play, который идеально подойдёт для Веб и позволит писать всё на java.

Если имеете опыт с этим ЯП, можете рассказать, почему такие проекты как gitlab и redmine его используют? То есть, например, гитлабовцы для написания multirunner'а выбрали уже Go. Почему они не выбрали тот же руби, в чём специфика?

Ответить | Правка | Наверх | Cообщить модератору

268. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 26-Июл-17, 10:03 
> Так и подумал. Спасибо. Были мысли ознакомиться с языком, но задача, ради
> которой хотел ознакомиться отпала. Как я смотрю, руби часто используется в
> DevOps. Но пока не понимаю, почему так сложилось. В том же
> java есть фреймворк play, который идеально подойдёт для Веб и позволит
> писать всё на java.

Ruby - язык с несколько другой концепцией. К нему реально надо походить не как к ещё одному питону/c/java, а как к языку, который был создан для выражения мысли на естественном языке. + изначально заложенная модель функционального стиля программировния (он не функциональный язык, но блок - это анонимная функция). + чистая объектная модель со ссылками на объект. В руби нет атомарных значений - только ссылки на объекты. В целом ничего сложного, но он в этом отличается. Впрочем, сейчас другие языки тоже к этому подтянулись. Кстати, довольно хорошо развивается JRuby. Получаете из руби возможность оперировать всеми объектами жавы + перекрывать их своими динамическими классами.

фреймворк play - это скала. Нет у меня под рукой статистики использования, но по-моему уже наигрались. Смеживать скалу и жаву в одном проекте - головная боль. Spring Framework 5 / Java - и нормально. Всё что нужно по асинхронности там есть. И программистов полно на поддержку, в отличии от скалы/плей, где вменяемых программистов будет найти очень сложно и дорого.

> Если имеете опыт с этим ЯП, можете рассказать, почему такие проекты как
> gitlab и redmine его используют? То есть, например, гитлабовцы для написания
> multirunner'а выбрали уже Go. Почему они не выбрали тот же руби,
> в чём специфика?

Go - скорость работы. Ruby - гибкость синтаксиса и скорость написания/отладки. В том, что касается скоростей работы питон/руби - разница трудно различимая. Но писать на руби удобнее.

Ответить | Правка | Наверх | Cообщить модератору

277. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 26-Июл-17, 21:10 
> Go - скорость работы. Ruby - гибкость синтаксиса и скорость написания/отладки. В
> том, что касается скоростей работы питон/руби - разница трудно различимая. Но
> писать на руби удобнее.

Если не затруднит, можете привести аналогичный код на Руби для сравнения?

from subprocess import call

class SomeClass:
    def install_something(self, call_args):
        args = [
            ‘/path/script.sh’
        ]
        if self.need_some_arg:
            args += [
                ‘—some-arg=’ + self.some_arg
            ]
        args += call_args
        call(args)

Ответить | Правка | Наверх | Cообщить модератору

279. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 27-Июл-17, 15:15 
Как-то так:

class SomeClass
  def install_something(call_args)
    system '/path/script.sh’,
           [
             args << ('—some-arg=’ + some_arg) if need_some_arg,
             call_args
           ].compact
  end
end

Ответить | Правка | Наверх | Cообщить модератору

280. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 27-Июл-17, 15:33 
> Как-то так:

Поторопился... Чуть проще:

class SomeClass
  def install_something(call_args)
    system '/path/script.sh’,
           ['—some-arg=’ + some_arg if need_some_arg].compact <<
           call_args
  end
end

Ответить | Правка | Наверх | Cообщить модератору

281. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 27-Июл-17, 18:41 
Спасибо. По виду почти то же самое, что и python.

Конструкция:
some_arg if need_some_arg
аналогично в Python:
[ '—some-arg=’ + self.some_arg if self.need_some_arg ]

Прибавление пустого списка даст изначальный список.
Но я таких конструкций стараюсь избегать, они несколько понижают читабельность, что должно понижать эффективность работы в команде. Лишняя секунда, потраченная на понимание более сложной конструкции значимо увеличит время проверки целых Merge request'ов и дальнейшая поддержка будет обходиться дороже.

Ответить | Правка | Наверх | Cообщить модератору

283. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  –1 +/
Сообщение от Аноним (-), 27-Июл-17, 21:11 
Спешил, поправлю себя.

Конструкция:
['—some-arg=’ + some_arg if need_some_arg]
аналогично в Python:
[ '—some-arg=’ + self.some_arg if self.need_some_arg ]

Кстати, поделюсь опытом, я специально разделяю список на несколько строк, если заметили, так, что один элемент списка на отдельной строке. Это облегчает слияния при совместной работе. Можете тоже попробовать, думаю оцените выгоду.

Ответить | Правка | К родителю #281 | Наверх | Cообщить модератору

285. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 27-Июл-17, 22:41 
на счёт удаления дырок из массива - это скорее к типовым конструкциями руби - они для рубистов узнаваемы. На счёт отдельных строк массива - здесь конкретно массив из одного элемента, потому на отдельные строчки пойдут другие элементы. А вообще, если интересно посмотреть коротко конструкции языка:

https://github.com/tokland/tokland/wiki/RubyFunctionalProgra...

и здесь:

https://github.com/bbatsov/ruby-style-guide

Ответить | Правка | К родителю #283 | Наверх | Cообщить модератору

286. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 27-Июл-17, 22:58 
Гляну, кто знает, возможно, пригодится, как никак есть проекты на ruby, которые по работе используем. Тот же gitlab вошёл в список одних из самых быстро развивающихся проектов. Правда, скорость работы очень не впечатляет. Но слабое желание поконтрибутить патчики иногда возникает. Было бы время, что называется...

Но вообще я уже давно пришёл к выводу, что стоит делать ставку на Python. Это по сути очень удобная обёртка над Си, да ещё и с ООП, коллега пробовала делать обёртки для библиотек, получается очень удобно.

Сейчас задумываюсь над использованием Django для внутренних нужд. Судя по отзывам, которые находил, работает быстрее фреймворков на Яве и писать удобнее, т. к. на Python есть библиотеки на все случаи жизни. И вроде как LTS-версии есть.

Ответить | Правка | К родителю #285 | Наверх | Cообщить модератору

287. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 27-Июл-17, 23:29 
> https://github.com/tokland/tokland/wiki/RubyFunctionalProgra...

А можете попутно кое-что объяснить? Я быстро проглядел и очень удивился. Почему они везде не рекомендуют изменять существующие объекты, а советуют создавать новые? Например в этом примере:

No:

hash = {:a => 1, :b => 2}
hash[:c] = 3
hash

Yes:

hash = {:a => 1, :b => 2}
new_hash = hash.merge(:c => 3)

Я пока тут вижу только увеличенное потребление памяти и пониженную производительность. Это просто ради того, чтобы привести код к функциональному стилю?

Ответить | Правка | К родителю #285 | Наверх | Cообщить модератору

290. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним (-), 28-Июл-17, 08:15 
Это сборник функционального стиля. Акцент именно на стиль. В функциональном программировании переменные неизменяемые. Поэтому единственный правильный вариант - создать новый объект как результат применения метода над предыдущим объектом.

Однако, да. О производительности надо иногда вспоминать.

Ответить | Правка | К родителю #287 | Наверх | Cообщить модератору

292. "Рейтинг языков программирования 2017 года от издания IEEE Sp..."  +/
Сообщение от Аноним84701 (ok), 28-Июл-17, 13:32 
> В функциональном программировании переменные неизменяемые.
> Поэтому единственный правильный вариант - создать новый объект
> как результат применения метода над предыдущим объектом.

Или сделать так, чтобы всегда была возможна только одна ссылка на объект и переменная после задействования становилась недействительной, обозвать "уникальными/линейными типами" и наказать анонимам не быть такими категоричными ;)
http://clean.cs.ru.nl/download/html_report/CleanRep.2.2_11.h...
https://www.mercurylang.org/information/doc-latest/mercury_r...
http://ru-lambda.livejournal.com/131849.html


Помимо "ввода-вывода" у линейных типов в Clean есть еще одно важное применение: эффективная работа с изменямыми агрегатными данными:
module test2
import StdEnv, StdArray

Start :: *World -> {Int}
Start world =  update (createArray 10 1) 5 10
Напечатает
{1,1,1,1,1,10,1,1,1,1}
В отличие от Haskell операция update тут не вызовет копирования массива:
class Array a e where
  update :: *(a e) Int e → *(a e)  
  createArray :: !Int e -> *(a e)


Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру