Другие языки программирования и технологии
Какими свойствами должен обладать язык программирования, чтобы называться высокоуровневым?
Какими свойствами должен обладать язык программирования, чтобы называться высокоуровневым?
быть в топе высокоуровневых языков
Должен быть независимым от системы команд конкретного процессора / конкретной виртуальной машины.
Текст программы не должен привязываться к особенностям реализации (операционная система, тип процессора и т. п.)
Андрей Ерёменко
Чушь
Должен быть максимально близок к обычному человеческому языку
Евгений Половинкин
Никоим образом. Наоборот, как и в математике. Должен уметь выражать длинные описания на естественном языке в очень коротких предложениях.
Только высокий уровень абстракции.
Например, должна быть возможность не выделять память вручную - как за счет контейнеров из стандартной библиотеки языка, уже содержащих в себе механику выделения и очистки памяти, так и за счет возможностей компилятора\интерпретатора.
Исходя из этого C++ уже высокоуровневый язык, а Си нет.
Интересная ситуация с ассемблером Smali - ответчики выше скажут, что он низкоуровневый, потому что работает только в JVM, однако он выше уровнем, чем Си, там в 1 строчку делается то, что в Си делалось бы 100 строчками, все портят другие моменты, например отсутствие поддержки циклов кроме goto/goto-like.
Стандартная и другие библиотеки языка должны позволять простыми конструкциями делать достаточно сложные вещи, без необходимости программисту указывать те детали, которые могут быть заданы по умолчанию.
Исходя из этого Android-овское API более низкоуровнево, чем Web-овская BOM (с alert() и прочими API), однако Android-овские виджеты более высокоуровневы, чем HTML и CSS, требующие задавать облик всех элементов с нуля и содержащие лишь малое количество примитивных элементов. HTML и CSS лежат почти на том же уровне, что и Сишный WinAPI. Во как!
Например, должна быть возможность не выделять память вручную - как за счет контейнеров из стандартной библиотеки языка, уже содержащих в себе механику выделения и очистки памяти, так и за счет возможностей компилятора\интерпретатора.
Исходя из этого C++ уже высокоуровневый язык, а Си нет.
Интересная ситуация с ассемблером Smali - ответчики выше скажут, что он низкоуровневый, потому что работает только в JVM, однако он выше уровнем, чем Си, там в 1 строчку делается то, что в Си делалось бы 100 строчками, все портят другие моменты, например отсутствие поддержки циклов кроме goto/goto-like.
Стандартная и другие библиотеки языка должны позволять простыми конструкциями делать достаточно сложные вещи, без необходимости программисту указывать те детали, которые могут быть заданы по умолчанию.
Исходя из этого Android-овское API более низкоуровнево, чем Web-овская BOM (с alert() и прочими API), однако Android-овские виджеты более высокоуровневы, чем HTML и CSS, требующие задавать облик всех элементов с нуля и содержащие лишь малое количество примитивных элементов. HTML и CSS лежат почти на том же уровне, что и Сишный WinAPI. Во как!
Андрей Востров
Как измерить уровень абстракции?
Иметь высокий уровень абстракции
Андрей Востров
как измерить уровень абстракции?
Похожие вопросы
- Программист сколько должен знать языков программирование?? , и какие языки программирование??
- Правда что дизайнер сайта не должен знать язык программирования? А только должен владеть фантазией и граф. реактором.
- Какой язык программирования самый высокоуровневый?
- Высокоуровневый язык программирования чем отличаеца от Низкоуровневый язык программирования? подробнее ?
- Почему числа в языках программирования называются константами?
- А какие языки программирования изучали в 80х и на чём вы их изучали?
- Какой язык программирования выбрать для изучения для начинающего ? (внутри)
- Какие языки программирования должен знать програмист?
- И снова про языки программирования ^_^ Поправьте, если я ошибаюсь где-то.
- С какого языка программирования начать?