Что не так с использованием Turbo C? - PullRequest
12 голосов
/ 13 октября 2010

Я всегда нахожу, что некоторые люди (большинство из Индии) используют турбо C. Я не могу найти причину использовать такой устаревший компилятор ... Но я не знаю, какие причины приводить при попытке сказать им использовать современный компилятор (gcc, msvc, ...).

Ответы [ 7 ]

20 голосов
/ 13 октября 2010

Turbo C - продукт только для DOS. Это означает, что он больше не работает «изначально» в 64-разрядных версиях Windows и должен запускаться в окне штрафов за совместимость с XP.

13 голосов
/ 13 октября 2010

Несмотря на то, что существует множество причин не использовать Turbo C (он устарел, предшествует стандартам, генерирует 16-битный код и т. Д.), Недопустимо отвечать на вопрос типа «Как сделать X в Turbo C?»с "Просто используйте GCC".Это как если бы кто-то спросил: «Как мне сделать Х с моей Toyota 1992 года?»и вы говорите: «Просто возьмите более новую машину».

Люди, которые используют Turbo C, вероятно, делают это, потому что это требование, а не потому, что они не знают ничего лучшего.Скорее всего, это класс программирования, в котором выполняемые им назначения должны работать в этом компиляторе.Когда я оценивал задания на С ++, не имело значения, какой компилятор использовали студенты, но они должны были правильно скомпилировать и запустить тот компилятор, который я использовал.

7 голосов
/ 13 октября 2010

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

Удачи даже Нахождение Borland / Inprise / Borland / Codegear / Embarcadero, или как там они себя называютНастоящее время.Еще больше похвалы, если вы можете заставить их признать, что эти продукты существуют (хотя в какой-то момент я получил их от музея Borland на BDN).

Производительность может быть важной, но подавляющее большинствоприложений, которые я пишу, тратят 90% своего времени на ожидание пользователя (я не занимаюсь секвенированием генома, анализом SETI или сворачиванием белка - рынок довольно маленький).

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

3 голосов
/ 13 октября 2010

Turbo C генерирует 16-битный код X86.Kiiinda приятно, когда вы разрабатываете на 16-битном процессоре x86.

Был там.Сделано это.

Прагматичные причины изменения: gcc находится в стадии разработки, с исправлениями ошибок.Он изначально развертывается на современных операционных системах и современных чипах.

2 голосов
/ 13 октября 2010

Это был также мой первый компилятор (4 года назад), хотя я довольно быстро переключился на gcc, когда узнал, что он не соответствует последним стандартам и использовал функции, которые считаются устаревшими или плохими. У меня было достаточно причин, чтобы переключиться.

1 голос
/ 13 октября 2010

Наиболее важной причиной, по которой вы должны использовать приличный компилятор Си, является производительность. Поскольку GCC агрессивно оптимизирует код, скомпилированные программы будут иметь производительность на десятки процентов выше, чем раньше.

0 голосов
/ 13 октября 2010

Turbo C гораздо проще в настройке и использовании, работает на старых машинах DOS.Кроме того, он компактен по размеру. Думаю, в этом и есть причина.

Тем не менее, современные процессоры имеют очень небольшое преимущество.

...