Еще на тему
а он уже не "Клоун". преобразовался из String в что-то.. шах и мат, типизаторы
А во что можно преобразоваться из строки?
char[]
в аудиопоток
Разумеется в число или ссылку.
во что угодно. используя нетипизированный указатель можнь стать чем угодно
но, только один раз
но, только один раз
У Ильюхи хлеб отнимают
со мной этот трюк не прокатит.
Я не понял, что он сказал, но я теперь тоже хочу ему вмазать.
Он сказал, что лучше пускай мамка завязывает шнурки до пенсии, чем самому следить за своими шнурками.
Он сказал, что лучше пусть мамка завязывает всю жизнь шнурки, чем необходимость самому менять шнурки в ботинках, когда это потребуется. Короче, он какую-то херню спорол, даже метафору нормальную сложно придумать.
Насколько я понимаю, имеются в виду программирование с изначальным созданием переменных с определённым типом (строка, целое число, число с плавающей запятой, дата, и пр. и пр.), который давался ей "пожизненно", и программирование с переменными, имеющими возможность переобуваться на лету, подстраиваясь под тип присвоенного значения.
черт, а ведь оба вида хороши, мне как дебилу проще было бы работать с первым вариантом - чтобы косяков меньше было
но у второго есть явные преимущества в виде использования переменных выполнивших свою роль для новой задачи, позволяет не плодить переменные пачками.
но у второго есть явные преимущества в виде использования переменных выполнивших свою роль для новой задачи, позволяет не плодить переменные пачками.
Не нужно переиспользовать переменные. Это усложняет жизнь как компилятору, так и человеку, работающему над кодом. Компилятор будет хуже оптимизировать, человек запутается при добавлении кода в середину программы.
В случае языков с динамической проверкой типов современный интерпретатор имеет возможность убрать проверку и довести в этом плане скорость почти до уровня нативных программ, если инофрмация о типах была доступна до запуска скрипта. Когда переменная без толку меняет тип, проверку выкомпилить гораздо сложнее, скрипт не удаётся соптимизировать. Сэкономленная переменная фактически занимает больше места из-за метаданных и работа с ней тормозит процесс. Выгода налицо, если торгуешь системными блоками.
В случае языков с динамической проверкой типов современный интерпретатор имеет возможность убрать проверку и довести в этом плане скорость почти до уровня нативных программ, если инофрмация о типах была доступна до запуска скрипта. Когда переменная без толку меняет тип, проверку выкомпилить гораздо сложнее, скрипт не удаётся соптимизировать. Сэкономленная переменная фактически занимает больше места из-за метаданных и работа с ней тормозит процесс. Выгода налицо, если торгуешь системными блоками.
ладно, не прав
но причину я еще в первой строке обозначил
но причину я еще в первой строке обозначил
Можно на пальцах. Как жить без перепенных?
Я не программист, я только говноскриптер для задач, что руками долго-долго-долго буду делать.
Мне нужно прогнать цикл Н раз. И Н зависит от количества считанных данных. Как перестать использовать переменные?
Я не программист, я только говноскриптер для задач, что руками долго-долго-долго буду делать.
Мне нужно прогнать цикл Н раз. И Н зависит от количества считанных данных. Как перестать использовать переменные?
"ПЕРЕиспользовать", а не "использовать".
Аааа! Не создавать овердохерещи переменных, а использовать А и В по нескольку раз, но уже как стриноговые и булиновые, а не лонгинт и флоат, как в начале кода.
И много прироста это даст?
И много прироста это даст?
Чуть меньше, чем нихуя
Используй регистры процессора, юный падаван.
Где они в питона и что мне за это будет?
Не надо переиспользовать имена переменных. Лучше им давать осмысленные имена чтобы в "солонке" была соль, а не мышиный яд, когда освободится. Если программа бьется на функции, классы и каждый отдельный "блок" делает одно только дело, то переменных много и не будет
Это не Иллюха!
Ублюдок, мать твою, а ну иди сюда...
Интересно, а это кого-нибудь стриггерит?
const_cast - хорошее дизайнерское решение.
const_cast - хорошее дизайнерское решение.
Как дизайнерское - хуевое
Но это обратная совместимость
В ряде случаев (очень редких, при разработке мета-шаблонов, движок и фреймворков, иногда может потребоваться этот хак чтобы обойти чисто компилятор, но остаться в рамках почти стандарта и уберечься от UB) этот кейс необходим.
Другое дело, что в идеале изначально можно было сделать язык иначе, но это такоой сложный процесс, что он идет итерационно, с обратной совместимостью, и лучше сделать новый ЯП, чем форкать старый.
Но это обратная совместимость
В ряде случаев (очень редких, при разработке мета-шаблонов, движок и фреймворков, иногда может потребоваться этот хак чтобы обойти чисто компилятор, но остаться в рамках почти стандарта и уберечься от UB) этот кейс необходим.
Другое дело, что в идеале изначально можно было сделать язык иначе, но это такоой сложный процесс, что он идет итерационно, с обратной совместимостью, и лучше сделать новый ЯП, чем форкать старый.
Если бы всё это сказал клоун с картинки выше, я бы точно полез бы за ним с целью навешать люлей.
Внезапно, но даже Майерс рекомендовал использовать const_cast, при определенных условиях. А Майерс мастер хороших дизайнерских решений. Так, что const_cast иногда нужен.
Я сам его всегда использую в этом самом специфическом случае, и другим рекомендую. Ибо копипаста хуже const_cast.
Я сам его всегда использую в этом самом специфическом случае, и другим рекомендую. Ибо копипаста хуже const_cast.
Вот пруф, если кто не верит. Effective C++, 3-е издание.
Когда нужен не тривиальный геттер, и так чтобы были const и не const вариант, но не хочется дублировать код геттера, Майерс рекомендует const_cast:
Когда нужен не тривиальный геттер, и так чтобы были const и не const вариант, но не хочется дублировать код геттера, Майерс рекомендует const_cast:
Про статическую типизацию автор не вкурсе видимо
Многие тим-лид-фулстак-синьеры не различают статическую и строгую типизацию
мб в этом и шутка - клоун сравнил мягкое с теплым
Когда то и я понимал программерские шутки но потом байткод попал мне в колено...
И тут пригнали экскаватор...
Бревно перевезти нужно?
Я надеюсь он побежал за ним только потому, что тот сказал какую-то невероятную хуйню. Хотя вероятнее потому, что комикс делал школьник.
Противоположность динамической типизации - статическая. Противоположность строгой типизации - слабая типизация. Противоположность явной типизации - неявная.
Получается, что типизация python-а лучше чем типизация python-а?
Противоположность динамической типизации - статическая. Противоположность строгой типизации - слабая типизация. Противоположность явной типизации - неявная.
Получается, что типизация python-а лучше чем типизация python-а?
Строгая типизация лучше динамической. Динамическая типизация лучше неявной. Неявная типизация лучше строгой. pythonоборос.
А вообще, если бы python презентовали как айфоны, это был бы вин. С каждой версией типизация на словах была бы всё лучше и лучше.
А вообще, если бы python презентовали как айфоны, это был бы вин. С каждой версией типизация на словах была бы всё лучше и лучше.
У меня появились конкуренты?!
Ну рано или поздно это должно было произойти)
А ты девелопер или просто любишь около-айтишный юмор?
Что-то близкое к первому.
Поясните за шутку, я гуманитарий
Идут три функции: константа, линейная и степенная, на встречу им дифференциал. Линейная кричит, что надо бежать, так как не хочет меняться, а константа не хочет исчезнуть. А степенная спокойно говорит: "Мне плевать. Я е в степени икс".
Сишишь сюда иди! - сказал d/dy.
-Ты мне? - оглянулся e^y.
Отличный комментарий!