Java
Этот вопрос давно меня мучает. Почему в более мощных языках программирования нужно самому объявлять тип данной переменой
Нельзя было бы это сделать автоматически? Вот в JavaScript не нужно объявлять string, number, boolean, object для переменых. Всё там объявляется как то само сабой, автоматически. Почему и в c++ и других языках такого нет? Было бы удобнее. А так надо морочится...
Почему в С++ нет такого? Есть же: auto.
В С# и Java тоже есть: var.
Даже больше скажу, это не влияет на скорость, так как тип определяется во время компиляции всё равно.
Было бы удобнее? Ахах, когда js будет принимать undefined там, где вам нужен объект вы поймёте почему это плохо (спойлер: будет сложно найти то, из-за чего в ф-цию летит undefined, и вы погрязнете в куче тупых ошибок в стиле "cannot read propery aoao of undefined")
Поэтому морочится надо, потому что только таким путём вы сможете достичь с языком программирования взаимопонимания и избежать кучи проблем (и код будет самодокументирующий).
А, ну и ещё из плюсов, в некоторых ЯП из-за ручного указания типов можно сделать перегрузку методов и это очень прикольненько^^
Также, это повышает читабельность (объекты из примера высосаны из пальца):
let videomanager = new VideoManager();
let videochannels = videomanager.channels(); //а тут-то не понятно что это может быть, допустим, VideoChannelsSupervisor, а не Array, было бы хорошо это указать, но нельзя ибо JS((
В С# и Java тоже есть: var.
Даже больше скажу, это не влияет на скорость, так как тип определяется во время компиляции всё равно.
Было бы удобнее? Ахах, когда js будет принимать undefined там, где вам нужен объект вы поймёте почему это плохо (спойлер: будет сложно найти то, из-за чего в ф-цию летит undefined, и вы погрязнете в куче тупых ошибок в стиле "cannot read propery aoao of undefined")
Поэтому морочится надо, потому что только таким путём вы сможете достичь с языком программирования взаимопонимания и избежать кучи проблем (и код будет самодокументирующий).
А, ну и ещё из плюсов, в некоторых ЯП из-за ручного указания типов можно сделать перегрузку методов и это очень прикольненько^^
Также, это повышает читабельность (объекты из примера высосаны из пальца):
let videomanager = new VideoManager();
let videochannels = videomanager.channels(); //а тут-то не понятно что это может быть, допустим, VideoChannelsSupervisor, а не Array, было бы хорошо это указать, но нельзя ибо JS((
Мощность языка определяется полным контролем над ресурсами компа.
Другими словами: "Что я сказал, то и будет! А не то, что какой-то компилятор решит!" )))
Другими словами: "Что я сказал, то и будет! А не то, что какой-то компилятор решит!" )))
Это влияет на скорость работы. Си пп произошел от си, который заточен на скорость на низком уровне процессора, поэтому строгая типизация избавляет от лишней загрузки ЦП. Поэтому джаваскрипт на нынешних мультиядерных цпу работает сопоставимо и с менее четкой типизацией.
Чтобы потом не было проблем с преобразованием типов и софтина не вылетела бы в неподходящий момент.
Мы не разработчики, чтобы решать данную проблему.
Александр Галилеев
Не нужно решать. Я хочу понять почему так а не как в JS
Мы не разработчики, чтобы решать данную проблему
Похожие вопросы
- Какой язык программирования выбрать первым при нулевом опыте?
- Доброго времени суток, хочу задать вопрос по поводу изучения языков программирования.
- Сколько языков программирования стоит выучить???
- Проблема с изучением языка программирования
- Подскажите какую книгу языков программирования Java купить?
- С какого языка программирования все же начать обучение, если хочу делать мобильные приложения?
- Тяжело ли будет создать компьютерную игру с хорошей графикой? Какой язык программирования для этого нужно учить ?
- Какой язык программирования стоит выбрать в качестве первого?
- Какой язык программирования учить после СИ и почему?
- Какой язык программирования лучше в качестве первого изучаемого языка - Java или PHP?