Змінюй хід війни! Допомагай ЗСУ!

Веб

  • Автор теми Автор теми Jappo
  • Дата створення Дата створення
а это был пример что позволяет goto :D
вот я и хочу увидеть как этим разумно пользоваться?
[/CODE]
фантазии чтоли нету? это же творчество


у Вас три строчки кода и у меня три строчки кода
добавилась только строка декларации поля

или Вы фигурки тоже считаете за сверх сложные конструкции?

я считаю количество символов
 
фантазии чтоли нету? это же творчество
я уже продемонстрировал фантазию в примере с goto. Такая свобода объявлений приводит именно к этому.
а вот реальных примеров где ну никак нельзя прожить без ДТ, где она показывает нереальные чудеса и при этом код остаётся понятным, я почему то не вижу. И килобайтов кода о которых Вы писали почему-то тоже не вижу.
А сравнение количества символов это лишь сравнение C# с python'om а мы говорим о типизации. А разница конструкций сводится лишь к тому что необходимо объявить поле(свойство) не где попало а внутри класса и указать его тип.

И гугл тоже не помог — вот результаты подобного холивара на rsdn:
FR>А отсутствие типизпции может быть и преимуществом. вот в питоне шаблонами и не пахнет а обобщеный код пишется без проблем.А для решения проблем с нетипизированностью есть специальные утилиты проверяющие корректность кода, например тот же PyChecker

WolfHound> статически типизированые языки позволяют создавать утилиты для рефакторинга. Нука покажи мне аналог ReSharper'а для питона...

FR>Проще писать программы, интерфейс файловых объектов стандартен, легко писать процедуры работающие с любыми файловыми объектами, при этом для своих файловых объектов не требуется наследование от базового класса.

Козьма Прутков> не иметь статической типизации, [...] вряд ли сильно положительно скажется на простоте поддержки разрабатываемой системы, ее расширяемости, простоте отладки и т.д. Юнит-тесты это хорошо, но строгая типизация — куда более строгий инструмент. И вряд ли отсутствие типизации ускорит разработку, учитывая что юнит-тестов надо написать куда больше, плюс отлаживаться придется дольше. Благо дизайн приложений уже довольно развит, что дает дополнительный аргумент в пользу наличия типизации. Такие штуки, наверное, хороши для написания пакета утилит для администрирования и т.п. для собственного пользования. Но писать промышленную систему, которая будет здорово развиваться, я бы на них не стал.

Borisman2> Может сказаться как отрицательно, так и положительно. Статическая типизация vs. динамическая типизация — топик далеко не так ясный, как Вы стараетесь его представить. Особенно в области скриптов для компьютерных игр, где традиционно используются такие языки как Lua

Wolfhound> Вот только без интеграционных тестов оно всеравно работать не будет.

eao197> Так ведь чем больше тестов для статически типизированных программ, тем лучше. Если речь идет о качестве продукта, то вопрос не стоит ни в объеме ни во времени. Здесь этот аргумент сторонников динамически-типизированных языков непоколебим.

Хотя лично я уверен, что есть масса случаев, когда unit-тесты или автоматические integration- или regression-тесты просто неприменимы. Иметь в таких случаях поддержку со стороны статически типизированного языка -- это очень большой плюс.


Vlad2> Все же динамическая типизация и отсутствие указания типов в коде — это не одно и то же. Вывод типов в ФЯ достиг очень высокого уровня и может порой казаться динамической типизацией, но при этом все же остаеются почти все приемущества статической типизации. А вот приемущества истенно динамической типизации при сравнении ее с компонентным подходом и хорошего качества ООП я так и не увидил. Я плохо смотрел?
и снова все остались при своих мнениях и никто не увидел "преимущества истинно динамической типизации"

всё что даёт ДТ это отход от шаблонов. и при этом в обобщения необходимо усиленно проверять типизацию.
 
я уже продемонстрировал фантазию в примере с goto. Такая свобода объявлений приводит именно к этому.
свобода объявлений приводящая к плохому коду -- не аргумент

а вот реальных примеров где ну никак нельзя прожить без ДТ, где она показывает нереальные чудеса и при этом код остаётся понятным, я почему то не вижу.
достаточно просто подумать почему на динамических языках код пишется быстрее.
давайте подумаем вместе:
Код:
статическая типизация -> код пишется медленно
динамисеская типизация -> код пишется быстро
какбэ понимаете намек? видите связь?
или вы не согласны с этим утверждением?

И килобайтов кода о которых Вы писали почему-то тоже не вижу.
А сравнение количества символов это лишь сравнение C# с python'om а мы говорим о типизации. А разница конструкций сводится лишь к тому что необходимо объявить поле(свойство) не где попало а внутри класса и указать его тип.
я уже упоминал о том что статичность типизации заключается не только в необходимости объявлять тип переменной.
я могу точно так утверждать что С# убогий язык потому что свойство нужно объявлять только внутри класса

и снова все остались при своих мнениях и никто не увидел "преимущества истинно динамической типизации"

всё что даёт ДТ это отход от шаблонов. и при этом в обобщения необходимо усиленно проверять типизацию.

все дело в мелочах. за счет множества вкусных динамических мелочей мы и имеем бонус в скорости разработки

обычно никто не проверяет пока не упало :D

СИ -- что может быть более статически типизированным? а как писанина на нем замечательно падает! с таким грохотом что любой перл позавидует!
 
достаточно просто подумать почему на динамических языках код пишется быстрее.
давайте подумаем вместе:
Код:
статическая типизация -> код пишется медленно
динамисеская типизация -> код пишется быстро
какбэ понимаете намек? видите связь?
или вы не согласны с этим утверждением?
Хм… Вы уже несколько раз написали это утверждение.
а я ищу доказательство этого утверждения но не вижу.
 
Хм… Вы уже несколько раз написали это утверждение.
а я ищу доказательство этого утверждения но не вижу.

это же общеизвестный факт. разве кто станет спорить что написать форум на перле гораздо проще и быстрее чем на С#?

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

ещё раз намекаю мы спорим не о языках а о типизации.
не нужно сравнивать пёрл пхп C# и змею

ДТ есть замена generic типов. остальное её применение приводит к макаронному коду.
Опровергните примером её крутости где ну никак бы не вышло жёстко указать типы без применения килобайтов кода
 
Опровергните примером её крутости где ну никак бы не вышло жёстко указать типы без применения килобайтов кода

ну почему же обязательно "ну никак бы не вышло"

без ДТ можно и обойтись, но с ДТ мы имеем бонусы:

не просто одна и таже переменная может быть любого типа, а и сам тип может быть динамическим (что я и показывал в первом примере)

можно напихивать в контейнер объекты любого типа без лишних телодвижений

очень вкусные штуки с передачей в функцию аргументов

etc etc

как я уже и говорил -- ДТ это не что-то одно большое и сладкое, это много приятных мелочей, которые возможны благодаря большой и сладкой динамической типизации лол

то что в статических языках нужно описывать и предусматривать -- в динамическом мы имеем из коробки, причем в динамическом что есть в языке то и имеем, а в статическом -- как напишешь так и будет (да, я намекаю на отсутсвие велосипедов или макаронности кода (ц))

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

без ДТ можно и обойтись, но с ДТ мы имеем бонусы:

не просто одна и таже переменная может быть любого типа, а и сам тип может быть динамическим (что я и показывал в первом примере)

можно напихивать в контейнер объекты любого типа без лишних телодвижений

очень вкусные штуки с передачей в функцию аргументов
1.На мой взгляд порождает больше проблем чем пользы. Класс должен быть целостный и понятный. А не иметь скрытые поля которые рождаются в какой-то там функции в третьем ответвлении пятого ифа.
что мешает открыть декларацию класса и написать там одну строку объявления поля?
2.Ну и что мешает то? берём родительский класс (да хоть object) и порождаем контейнер. Пихаем в него всё необходимое даже преобразований не нужно. а вот при выводе обязаны провести проверку типа того что вынимаем. Имхо это плюс а не минус. Отличия: нужно объявить тип контейнера и явно приводить тип при выборке. Это так сложно?
Имхо в этом примере Вы переоцениваете сложности строгой типизации и недооцениваете проблемы её отсутствия.
3. тот же принцип что и 2

то что в статических языках нужно описывать и предусматривать -- в динамическом мы имеем из коробки, причем в динамическом что есть в языке то и имеем, а в статическом -- как напишешь так и будет (да, я намекаю на отсутсвие велосипедов или макаронности кода (ц))
ну вот с этим полностью согласен. я считаю важным предусматривать что происходит а не надеяться что и так прокатит.
 
ну вот с этим полностью согласен. я считаю важным предусматривать что происходит а не надеяться что и так прокатит.

вот пока сишники предусматривают -- питонщики уже сдали проект и едут на рыбалку например
 
вот пока сишники предусматривают -- питонщики уже сдали проект и едут на рыбалку например
ну вот выигрыш в скорости в ущерб стабильности. ЧТД.

И Вы слишком переоцениваете сложность проверки типа.
 
ну вот выигрыш в скорости в ущерб стабильности. ЧТД.
ну где вы наслушались сказок про глючность писанины на динамических языках?

И Вы слишком переоцениваете сложность проверки типа.

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

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

например django ~83000 строк и уйма разработчиков. я не видел ни одного тикета связанного с динамичностью типов (они скорее всего есть, но я их не видел, и не думаю что они составляют хоть какой-то заметный процент)

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

только ни разу не сказали в чём же именно.
на что ещё кроме типов может влиять типизация?

не заставляйте меня повторяться, я приводил примеры кода и не только

мало? сами гуглите
 
ерунда. динамическая типизация не вызывает таких проблем.

например django ~83000 строк и уйма разработчиков. я не видел ни одного тикета связанного с динамичностью типов (они скорее всего есть, но я их не видел, и не думаю что они составляют хоть какой-то заметный процент)


хорошее воображение очень хороший аргумент ок



не заставляйте меня повторяться, я приводил примеры кода и не только

мало? сами гуглите
убедил, я люблю питон
 
не заставляйте меня повторяться, я приводил примеры кода и не только
мало? сами гуглите

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

без ДТ можно и обойтись, но с ДТ мы имеем бонусы:

не просто одна и таже переменная может быть любого типа, а и сам тип может быть динамическим (что я и показывал в первом примере)

можно напихивать в контейнер объекты любого типа без лишних телодвижений

очень вкусные штуки с передачей в функцию аргументов

etc etc

1.На мой взгляд порождает больше проблем чем пользы.

Посилання видалено

Класс должен быть целостный и понятный. А не иметь скрытые поля которые рождаются в какой-то там функции в третьем ответвлении пятого ифа.
что мешает открыть декларацию класса и написать там одну строку объявления поля?
2.Ну и что мешает то? берём родительский класс (да хоть object) и порождаем контейнер. Пихаем в него всё необходимое даже преобразований не нужно. а вот при выводе обязаны провести проверку типа того что вынимаем. Имхо это плюс а не минус. Отличия: нужно объявить тип контейнера и явно приводить тип при выборке. Это так сложно?
Имхо в этом примере Вы переоцениваете сложности строгой типизации и недооцениваете проблемы её отсутствия.
3. тот же принцип что и 2

ну и тут тоже самое.

Код:
>>> def hurr(durr, lol, fuu = 3):
...  print durr, lol, fuu
... 
>>> hurr(lol = 1, durr = 2)
2 1 3

мелочь а приятно
 
всё ясно ушёл писать на питоне величайшем языке
 
Назад
Зверху Знизу