Там какие-либо альтернативы к C? [закрытый]

11
задан tshepang 27 July 2014 в 21:28
поделиться

5 ответов

Может быть, Google язык Go будет. По крайней мере, это то, на что я рассчитывала, как надеется команда Google Go.

5
ответ дан 3 December 2019 в 04:51
поделиться

Я думаю, проблема с этим вопросом и последующим обсуждением состоит в том, что очень редко языки предназначены для замены других. Конечно, когда вы пытались прояснить и защитить некоторые из ваших группировок, они имеют одинаковые наборы функций или выполняют похожие вещи, но в конечном итоге я не думаю, что кто-то собирается сесть и написать язык, который предназначен для замены другого. Гораздо более вероятно, что разработчики языков хотят достичь цели и будут выбирать те аспекты определенных языков, которые уже делают это. Например, взгляните на Go , который разработан, чтобы немного поднять ставки в отношении сверхвысокопроизводительного системного программирования, которое, возможно, немного конкурирует с C.Однако, если вы посмотрите часто задаваемые вопросы о миссии проекта, они не стремятся заменить C, а просто дополняют его и решают проблемы, с которыми он сталкивается (например, управление зависимостями, чтобы назвать его) (так что, возможно, это ответ, который вы ищем).

На самом деле, является ли что-то эволюцией чего-то другого, полностью зависит от точки зрения, с которой вы исследуете и оцениваете эволюцию. C ++ можно рассматривать как эволюцию C, поскольку он представил новый набор функций (объектно-ориентированное программирование), который многие считают шагом вперед в проектировании систем, при этом сохраняя аналогичный синтаксис и совместимость с кодом C. Однако это не совсем эволюция, потому что в нем также отсутствуют некоторые функции, которые делают C языком, используемым в настоящее время. Ни один язык не может делать все (кроме, может быть, Lisp ;-) Я шучу, я шучу) и никогда не будет. Ни один язык не обходится без компромиссов. Абстракции, упрощающие веб-разработку, - это те же абстракции, которые делают разработку низкоуровневых систем невозможной (или чрезмерно сложной). Поэтому я действительно думаю, что трудно сказать, что X - это эволюция Y. Скорее, я бы сказал: «Я хочу сделать W и знаю, что могу использовать язык X, но есть ли что-то, что лучше выполняет мои цели A, B и C. ? " К сожалению, языки программирования недостаточно черно-белые, чтобы делать такие разительные утверждения, и, как и любое другое решение, которое вы принимаете в программировании, речь идет о компромиссах.

6
ответ дан 3 December 2019 в 04:51
поделиться

На самом деле C занимает не одну нишу. Для низкоуровневого системного программирования C заменил специфичные для платформы языки ассемблера, и ничто по-настоящему не бросило C в этой области. C ++ был бы единственным другим возможным кандидатом (BeOS, многие драйверы устройств и т. Д.).

C также часто используется для высокопроизводительного числового кода. В этой области FORTRAN по-прежнему имеет преимущество, и есть много других претендентов (C ++, Matlab, Numpy, Fortress, Scala).

На определенном уровне C - это наименьший общий знаменатель, обеспечивающий кроссплатформенную переносимость.

3
ответ дан 3 December 2019 в 04:51
поделиться

Паскаль был бы эквивалентом, как и Modula-2.

В Mozilla также есть новый язык под названием Rust, это действительно красивый современный язык, ориентированный на те же типы приложений, что и C / C ++

https://www.rust-lang.org/

4
ответ дан 3 December 2019 в 04:51
поделиться

Следующая картинка скажет больше, чем я мог бы написать:

picture

5
ответ дан 3 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: