-
- Говоря по совести, писать на Питоне намного приятнее чем на С++.
Более "прямолинейный" язык, крайне редко возникает проблема "как-то
иначе сформулировать" чтобы компилятор сделал именно то, что тебе
нужно. Cкpипaч(40 знак., 23.12.2020 16:31)
- Многие слышали про книгу Хемингуэя "The old man and the C", а
некоторые даже читали. Не все знают, что Хемингуэй написал
продолжение, "The old man and the C++". Но книга получилась такая
грустная, что автор впал в депрессию, сжёг второй том
"Мёртвых душ"и застрелился. True story (almost). - йцyкeн(23.12.2020 18:43)- С мест советуют: "Более правильной была бы концовка: "и выстрелил себе в ногу". - Toчкa oпopы(25.12.2020 15:40)
- Можно пример "как-то иначе сформулировать, чтобы компилятор сделал
именно то, что тебе нужно"? Хочется разнести в пух и прах :-) - SciFi(23.12.2020 17:53)
- x, y = y, x - Cкpипaч(23.12.2020 19:47)
- swap? Вот ведь неожиданность. Какие там могут быть трудности
объяснить компилятору? Завести временную переменную? - SciFi(23.12.2020 21:05)
- OOO! Трудности могут быть и большие. Дьявол кроется в мелочах. Как, например, обменять местами два очень больших класса? Или класс в котором есть не копируемый ресурс (открытый сокет, например). Или два контейнера (чуть попроще, т.к. у них есть swap() свой или они имеют move-конструктор). Где-то читал но забыл, std::swap в общем сложная функция... - fk0(23.12.2020 21:36)
- Еще варианты: x,y,z = BestPointCoordinates() Cкpипaч(142 знак., 23.12.2020 21:32)
- Вот тут рассказывают, для C++-программистов рекомендую... (но вообще этот тот же кортеж, std::tuple). fk0(1 знак., 23.12.2020 21:42, ссылка, youtube)
- Аппетит приходит во время еды. Вы ещё попросите компилятор кофе
сварить :-) - SciFi(23.12.2020 21:42)
- Он у меня умный. И догадливый :о) - Cкpипaч(23.12.2020 21:45)
- Как компилятора зовут? Сансаныч? Мариванна? :-) - SciFi(23.12.2020 21:55)
- Он у меня умный. И догадливый :о) - Cкpипaч(23.12.2020 21:45)
- В крестах это будет lloyd(37 знак., 23.12.2020 19:49)
- std::swap? - йцyкeн(23.12.2020 21:03)
- std::swap работает только на двух аргументах, если надо будет три -
опять сводится к тульпе. Но мой коммент скорее про то, что в с++
такая строчка может быть 1:1 - lloyd(23.12.2020 21:20)
- Пытаюсь вспомнить, когда мне последний раз нужно было поменять три
переменные. Кажется, это было до большого взрыва. - йцyкeн(23.12.2020 23:42)
- std::rotate же! На самом деле полезная вещь. Можно что-то, какие-то записи, которые удобно потом видеть в памяти непрерывным блоком, обычно текст, писать в кольцевой буфер. А потом сделать rotate всего буфера и получить набор данных который начинается строго в начале буфера (на самой старой не перезаписанной поверх другими записи) и кончается где-то незадолго до конца. fk0(396 знак., 24.12.2020 01:39, ссылка)
- Пытаюсь вспомнить, когда мне последний раз нужно было поменять три
переменные. Кажется, это было до большого взрыва. - йцyкeн(23.12.2020 23:42)
- std::swap работает только на двух аргументах, если надо будет три -
опять сводится к тульпе. Но мой коммент скорее про то, что в с++
такая строчка может быть 1:1 - lloyd(23.12.2020 21:20)
- В крестах ещё есть structured bindings --> - fk0(23.12.2020 20:01, ссылка)
- Ну, нотация "auto [a, b, ...] = tuple" создает новую переменную в
области видимости, поэтому тот пример вроде бы все-таки через
std::tie делается - lloyd(23.12.2020 20:20)
- Если вам мало "синтаксического мусора" - добавьте reinterpret_cast :o) - Cкpипaч(23.12.2020 21:44)
- Ну, нотация "auto [a, b, ...] = tuple" создает новую переменную в
области видимости, поэтому тот пример вроде бы все-таки через
std::tie делается - lloyd(23.12.2020 20:20)
- std::swap? - йцyкeн(23.12.2020 21:03)
- swap? Вот ведь неожиданность. Какие там могут быть трудности
объяснить компилятору? Завести временную переменную? - SciFi(23.12.2020 21:05)
- x, y = y, x - Cкpипaч(23.12.2020 19:47)
- Проблема в том, что в питоне компилятор очень условный. Считай его
нет. И пока ты абсолютно все ветви программы не покроешь тестами,
руками не протестируешь, и т.п., у тебя вообще нет никаких
гарантий, что оно работает. Догадываешься куда это катится с
более-менее сложной программой ("с высокой цикломатической
сложностью") ? Любая, абсолютно глупая даже не ошибка, описка -- и
оно "компилируется". И работает, пока не зайдёт в проблемную ветку
кода. C++ по крайней мере даёт fk0(691 знак., 23.12.2020 17:11, ссылка)
- На крестах есть одна проблема - на них скучно писать просто. То есть вечно руки чешутся повыделываться, запилив автоматическую обработку чего-нибудь на шаблонах и constexpr. - lloyd(23.12.2020 19:20)
- Не заставляйте меня повторяться. Python type annotations. Есть и
работает. Используем в вполне себе немаленьком проекте. - Cкpипaч(23.12.2020 19:08)
- Но всё равно это не замена статически типизированного языка, вроде Java, C++ или C#. Последние имеют ещё ряд концепций необходимых для поддержки типизированного программирования: 1) автоматический вывода типа выражении и аргументов функций (и собственно (автоматическое) преобразование типов на данном этапе), 2) перегрузку функций (и множественные конструкторы у классов, читай статический полиморфизм), 3) пользовательские операторы конверсии типов (не в Java...) fk0(257 знак., 23.12.2020 21:23)
- таки да, через год выяснил что там была ошибка. Go в этом плане радикально другой но питон это все де динамический интерпретируемый язык. Ну а поюсы меняются, в 20 вон чего нагородили - OlegPowerC(23.12.2020 17:50)
- Ни разу с++ не делал не того, что я хочу. Как тебе удалось
заставить его работать иначе? ... POV_(116 знак., 23.12.2020 16:42,
)
- Мне периодически "удается" заставить его отказываться
компилировать, казалось бы, достаточно линейные фразы(?) Cкpипaч(114 знак., 23.12.2020 19:06)
- Вспоминаю далёкий 1998 год, я на третьем курсе. Из знаний
программирования - ассемблер и бейсик... POV_(208 знак., 23.12.2020 19:52,
)
- После Бейсика "учил" Modula-2. Весь язык - половина страницы формул
Бэкуса-Наура. И Си - со справочником на двух страницах. По полчаса
на язык, примерно :) - Cкpипaч(23.12.2020 21:39)
- На тот момент у меня никакой книги не было. Просто фантазировал по
аналогии... POV_(154 знак., 24.12.2020 00:39,
)
- modula кстати интересный - OlegPowerC(23.12.2020 22:27)
- На тот момент у меня никакой книги не было. Просто фантазировал по
аналогии... POV_(154 знак., 24.12.2020 00:39,
- После Бейсика "учил" Modula-2. Весь язык - половина страницы формул
Бэкуса-Наура. И Си - со справочником на двух страницах. По полчаса
на язык, примерно :) - Cкpипaч(23.12.2020 21:39)
- Вспоминаю далёкий 1998 год, я на третьем курсе. Из знаний
программирования - ассемблер и бейсик... POV_(208 знак., 23.12.2020 19:52,
- вот JS это сила! :-) - OlegPowerC(23.12.2020 17:51)
- === чего только стоит! :-D - Dingo(23.12.2020 19:02)
- Мне периодически "удается" заставить его отказываться
компилировать, казалось бы, достаточно линейные фразы(?) Cкpипaч(114 знак., 23.12.2020 19:06)
- Многие слышали про книгу Хемингуэя "The old man and the C", а
некоторые даже читали. Не все знают, что Хемингуэй написал
продолжение, "The old man and the C++". Но книга получилась такая
грустная, что автор впал в депрессию, сжёг второй том
- Да хз, это может быть не долго - OlegPowerC(23.12.2020 14:58)
- Они в общем-то правы и не правы. Всё дело в эффекте "серебряной
пули". C++ уже растерял уже репутацию таковой. А Python и Go --
нет. Считается, что C++ -- место где-то среди кобола и фортрана,
для старых пердунов. А Python и Go -- это модно, молодёжно и
современно. Но есть нюансы... fk0(1774 знак., 23.12.2020 14:45)
- Хочется сказать, что как всегда победит гавно попроще и подешевле,
но не могу сбрасывать со счетов желание программеров
самосовершенствоваться. Но есть опасность, что последнее слово
будет за бизнесом, которому первое выгоднее. Поживем увидим. - Codavr(23.12.2020 16:13)
- Да, да, именно так. 1) быстро, 2) дёшево, 3) качественно. Дело именно в бизнесе. Пока Ларри Уолл делал Perl just for fun -- это одно. А когда развитие питона форсят корпорации в своих целях -- совершенно другое. Просто пойти в википедию и почитай, где работал один, и где другой. Да там же прямо с начала: In 1999, Van Rossum submitted a funding proposal to DARPA called "Computer Programming for Everybody"... и далее карьера попёрла. Потому, что тема оказалась востребованной fk0(32 знак., 23.12.2020 17:25)
- Да меня больше удивил подход - давайте что-нибудь попроще изучим,
нахуй голову ломать. Блогеры-хуёгеры удивляют. - POV_(23.12.2020 16:25,
)
- Желание чота изучить уже похвально - Codavr(23.12.2020 16:32)
- Я работу, в общем, не планировал менять, но от собеседований в
последние полгода не отказывался. Окромя плюсов ни одной вменяемо
вакансии. И денех за плюсы готовы были платить сколько попрошу..
если буду соответствовать. - POV_(23.12.2020 15:32,
)
- Любой работодятел понимает, что C++ -- пусть к пожизненной занятости. Страуструп нифига не шутил в своём известном интервью. Поэтому и Python, и Go, и проекты с итерациями в 1 год максимум. И ротация людей по проектам, и Agile/Scrum и всё остальное. Нужны не люди вросшие в проект так, что не заменишь. А "хорошие" средние работники. Не хватающие звёзд с неба. Но главное -- заменяемые и планируемые. - fk0(23.12.2020 17:29, youtube)
- Ну гоферам тоже нормально платят но работа не интересная - OlegPowerC(23.12.2020 16:20)
- Хочется сказать, что как всегда победит гавно попроще и подешевле,
но не могу сбрасывать со счетов желание программеров
самосовершенствоваться. Но есть опасность, что последнее слово
будет за бизнесом, которому первое выгоднее. Поживем увидим. - Codavr(23.12.2020 16:13)
- Там же про зарабатывать. А не про контроль ресурсов, безопасность, и всё остальное. И да - для нейросетей - питон 10/10. IMHO. - Dingo(23.12.2020 07:43)
- Говоря по совести, писать на Питоне намного приятнее чем на С++.
Более "прямолинейный" язык, крайне редко возникает проблема "как-то
иначе сформулировать" чтобы компилятор сделал именно то, что тебе
нужно. Cкpипaч(40 знак., 23.12.2020 16:31)