Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #71, ОКТЯБРЬ 2006 г.

spesial опрос

 

Спецвыпуск: Хакер, номер #071, стр. 071-080-3


Иван Касатенко:

Я так не думаю. Давай проведем параллель с реальным миром — на протяжении многих веков существует целое множество языков: кто-то говорит на одном, кто-то на другом. И не факт, что самый популярный из них статистически является самым удобным (взять, хотя бы, китайский). Но, даже несмотря на популярность, ни один из них так и не стал общепринятым стандартом, хотя и были даже искусственные попытки его ввести.

Причин тому несколько. Каждый язык формировался согласно национальным особенностям и необходимостям, а потому наиболее удобен конкретной нации. Человеку свойственна привычка, он не хочет менять того, что было веками. С языками программирования абсолютно та же ситуация. Есть самые распространенные: C, C++, C# (стараниями Брата), но никто не отменяет существования языков совершенно другой природы — процедурных, декларативных и т.п. Каждый из них (Nemerle, Haskell, Prolog, даже COBOL) хорош по-своему, у каждого есть сторонники, а значит — каждый обречен на выживание.

Дмитрий Коваленко:

Думаю, такого не случится. Уже сейчас в программировании столько всяких идеологий, архитектур и платформ! Ни один язык не может полностью «накрыть» все это разнообразие. И в будущем вряд ли что-то существенно поменяется.

Михаил Фленов:

Никогда. Прогресс движется, но такие языки как Assembler и Си продолжают жить. И будут жить, если не вечно, то очень долго, потому что они необходимы для системного программирования. Современные языки С# и Java — просты, удобны и позволяют быстро создавать пользовательские программы, но на системном уровне властвуют и будут властвовать старички.

Один язык не сможет охватить все области программирования, особенно такие разные, как системное программирование, офисные программы, web-программирование. Технологии Java и .NET пытаются захватить максимум, и у Java неплохо получается. Если судить по рейтингам, этот язык находится сейчас на первом месте и уже обошел многолетнего лидера С++, но победить окончательно не сможет никогда.

2 Что лучше: Си или Си++?

Алексей Петров:

С++ родился из С и очень похож на родителя. Изначально С++ был препроцессором, переводящим его конструкции в код С, который уже дальше передавался компилятору. С++ включает в себя С, и даже практически полностью с ним совместим, что позволяет некоторым писать на С++ как на С, считая его просто расширением (хотя рано или поздно либо уходят в полный С++, либо спускаются обратно на С). Это также позволяет использовать в С++ старые наработки на С. Но сравнивать С++ и С — сопоставимо с извечным вопросом, что лучше: курица, гусь или яйцо. С++ и С, продолжая развиваться и влияя друг на друга, давно представляют собой хороший конгломерат здорового симбиоза.

Загвоздкой языка С стало то, что он оказался слишком низкоуровневым для задач. Задача красиво решалась, но тонула и пряталась от понимания в технической реализации. Предназначением С++ было сделать написание программ более простым и приятным, немножко подняв планку уровня С и расширив его возможности. Новые веяния требовали от С средства работы с абстрактными типами данных, объектов, что и было реализовано введением в C++ механизма классов, позволяющих определять и использовать новые типы данных на основе существующих.

Назад на стр. 071-080-2  Содержание  Вперед на стр. 071-080-4