И вообще — чем больше можно ограничить контекст для чтения кода — тем лучше.
Подчеркиваю — тут идет разговор о возможности.
Должна быть возможность ограничений типов. Так же как и возможность их ограничивать менее строго (через generic'и, например). Одно дело, когда есть инструмент для гибкости а-ля mixin'ы, а другое дело — когда они навязываются, и никак не могут быть устранены.
Люто не люблю скриптовые языки. И пусть меня за это закидают тапками — не люблю.
Отладка любого legacy в них представляет собой АД.
Особенно учитывая всякие mixin'ы.
И за возможность статического анализа кода средствами IDE очень люблю языки со строгой статической типизацией а-ля Java. И еще лучше — с автоматическим выводом типов. :-)
Да ну?
Запустить программу в IDEA, когда впервые знакомишься с ее интерфейсом, не так-то просто.
Нужно догадаться щелкнуть правой кнопкой мыши по имени класса с методом psvm.
И то сработает только в том случае, если безошибочно написана сигнатура, а иначе никогда не найдешь опечатку, если она разрешена синтаксисом языка. :-)
А как Вы изучали IT?
Согласитесь, что Вы знакомились со сложностью мира постепенно.
И наверняка перед программированием уже несколько лет разбирались с устройством компьютеров на прикладном уровне, на уровне ОС, на уровне железа. Процессор, память, жесткий диск, BIOS, MS-DOS…
С такой подготовкой программирование — это просто очередной этап.
А когда человек пытается из прикладного уровня попасть на уровень программирования — встает непреодолимый барьер этих «невидимых» ему уровней знания.
Тут вопрос мотивации новичков.
Если на начальном этапе убить мотивацию — программистом он уже никогда не будет.
Подчеркиваю — никогда. И исключения здесь только подтверждают правило.
Поэтому вначале завоевываем мотивацию, а потом уже показываем, что не все просто.
Еще бы сделали эту IDE в виде процесса знакомства с реальностью, которая постепенно, по шагам дает тебе узнать про неизвестные ранее вещи, дозируя сложность… Но это мечты, мечты. :-)
P.S. Учитывая, как трудно найти адекватных специалистов, лучше уж так, чем сразу отметать потенциал новичков.
Для школьников действительно хорошая вещь.
А студентам IT-сферы обязательно нужно учиться работать с настройками и понимать взаимосвязи и сложности реального мира.
Чтобы если из-под капота пошел дым, можно было открыть и хотя бы определить проблему, если не решить самостоятельно.
Потому что у ведущих специалистов ну очень мало времени на поиск причин подобных проблем. А зная причину проблему можно выдать решение на несколько секунд, особо не задумываясь.
Не согласен.
Люди склонны обманывать себя без всякого вмешательства со стороны.
Поэтому вместо крайностей (доверия и недоверия) предпочитаю простую наблюдательность — так оно надежнее.
В этом случае просто нужна горизонтальная поверхность, а не вертикальная.
Т.к. у нас все эти техники отработаны только для горизонтали.
А при вертикальном рисовании руки быстро устают, например. )
К середине из-за ошибок отпадает желание проходить дальше.
P.S. У меня везде кроме одного задания максимальная оценка.
Чтобы не создавалось впечатление, что это хныканье лузера.
BaseClass<T extends BaseClass<T>>
Подчеркиваю — тут идет разговор о возможности.
Должна быть возможность ограничений типов. Так же как и возможность их ограничивать менее строго (через generic'и, например). Одно дело, когда есть инструмент для гибкости а-ля mixin'ы, а другое дело — когда они навязываются, и никак не могут быть устранены.
Я за гибкость, но против навязываний.
Для параметров и возвращаемого значения методов — категорически против.
Люто не люблю скриптовые языки. И пусть меня за это закидают тапками — не люблю.
Отладка любого legacy в них представляет собой АД.
Особенно учитывая всякие mixin'ы.
И за возможность статического анализа кода средствами IDE очень люблю языки со строгой статической типизацией а-ля Java. И еще лучше — с автоматическим выводом типов. :-)
Вот и скажите после этого, что это «ничего не умеющая IDE».
Вопрос подхода к разработке.
Запустить программу в IDEA, когда впервые знакомишься с ее интерфейсом, не так-то просто.
Нужно догадаться щелкнуть правой кнопкой мыши по имени класса с методом psvm.
И то сработает только в том случае, если безошибочно написана сигнатура, а иначе никогда не найдешь опечатку, если она разрешена синтаксисом языка. :-)
Согласитесь, что Вы знакомились со сложностью мира постепенно.
И наверняка перед программированием уже несколько лет разбирались с устройством компьютеров на прикладном уровне, на уровне ОС, на уровне железа. Процессор, память, жесткий диск, BIOS, MS-DOS…
С такой подготовкой программирование — это просто очередной этап.
А когда человек пытается из прикладного уровня попасть на уровень программирования — встает непреодолимый барьер этих «невидимых» ему уровней знания.
Если на начальном этапе убить мотивацию — программистом он уже никогда не будет.
Подчеркиваю — никогда. И исключения здесь только подтверждают правило.
Поэтому вначале завоевываем мотивацию, а потом уже показываем, что не все просто.
Еще бы сделали эту IDE в виде процесса знакомства с реальностью, которая постепенно, по шагам дает тебе узнать про неизвестные ранее вещи, дозируя сложность… Но это мечты, мечты. :-)
P.S. Учитывая, как трудно найти адекватных специалистов, лучше уж так, чем сразу отметать потенциал новичков.
А студентам IT-сферы обязательно нужно учиться работать с настройками и понимать взаимосвязи и сложности реального мира.
Чтобы если из-под капота пошел дым, можно было открыть и хотя бы определить проблему, если не решить самостоятельно.
Потому что у ведущих специалистов ну очень мало времени на поиск причин подобных проблем. А зная причину проблему можно выдать решение на несколько секунд, особо не задумываясь.
Люди склонны обманывать себя без всякого вмешательства со стороны.
Поэтому вместо крайностей (доверия и недоверия) предпочитаю простую наблюдательность — так оно надежнее.
Пять баллов :-)
Она и так неплохо живет.
Т.к. у нас все эти техники отработаны только для горизонтали.
А при вертикальном рисовании руки быстро устают, например. )