Обсуждение языка программирования С

Discussion in 'Болталка' started by procedure, 7 Jun 2008.

  1. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Недавно начал учить этот прекрасный язык и возникло несколько вопросов, которых я посчитал нужным создать лучш в болталке, так как это обсуждение.
    1 Допустим я выучил язык С, я могу кодить под все системы, или нужно под какую то именно учить?

    2 Актуально ли учится кодить под Unix, а именно FreeBSD?

    3 Чем отличается программирование под Unix и win?

    4 Чем отличаются С, С# и С++? И какой из них самый нормальный считается?

    5 Действительно ли можно на С писать драйвера?

    6 И последнее, если есть программисты на С под FreeBSD, каким компилятором вы пользуетесь?
     
  2. Лайт

    Лайт Active Member

    Joined:
    23 May 2007
    Messages:
    63
    Likes Received:
    172
    Reputations:
    11
    Я конечно понимаю что это обсуждение, но лучше бы ты тему начал в соответствующем разделе, так как тут нормальных ответов мало получишь, только порцию флуда.
     
  3. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,379
    Likes Received:
    1,095
    Reputations:
    356
    ты знаешь, по моему опыту, главное начать учить, а там, в процессе, кто его знает куда кривая вывезет.
     
    _________________________
  4. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    olbanec-> я понимаю, только у меня книга с уклоном в Unix сторону. А что получается если научусь под Unix пиать, то под Linux не смогу?
    Я хочу выучить так чтоб не пожелеть в будующем что я его выучил.

    Да и еще хотел вопрос задать. Вот допустим я хочу для начала переити с уровня эникейщика на админа. Дык многие сказали что плохо, то что я пропустил Perl. Интересно чтобы с cisco работать, можно узать C?
     
    #4 procedure, 7 Jun 2008
    Last edited: 7 Jun 2008
  5. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,379
    Likes Received:
    1,095
    Reputations:
    356
    ты здесь был? http://forum.antichat.ru/thread70280.html
    я вот тоже учу. но все равно тоскую по паскалю. а в процессе обучения и прикладного юзанья ачата начинает нравиться пхп.
    главное ввязаться в драку). ты пока основы выучишь сам разберешься в какую сторону двигать.
     
    _________________________
  6. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    olbanec-> ну тогда будем вместе учить*))
    А почему тоскуешь по паскалю?

    p.s. И ксе таки один вопрос остается актуален.
     
  7. ZavodiJIo

    ZavodiJIo Elder - Старейшина

    Joined:
    12 Nov 2006
    Messages:
    215
    Likes Received:
    163
    Reputations:
    9
    Там есть различия, но не существенные.. если научишься кодить под фрю, под линукс не особо сложно будет научиться.. А я хотел выучить, да блин не в то время начал.. Какраз подготовка к сессии началась :(
     
  8. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    очень много людей знают как ходят шахматные фигуры, старайся стать гросСсмейсером!
     
  9. GALIAFF

    GALIAFF Elder - Старейшина

    Joined:
    28 Sep 2007
    Messages:
    45
    Likes Received:
    28
    Reputations:
    5
    у каждой систему есть свои особенности
    си кроссплатформенный язык,си шарп толь вроде под вынь с её фреймворком, си++ обектно ориентированный язык, так что каждый язык под свои задачи. например подвынь то что можно на си++ написать в пару строк на си уйдет много времени, и наоборот. полезно знать и первое и второе.
    на си и пишут


    соррь что криво расписал..
     
  10. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    т.е. как я понял, в начале программы, идет подключение модуля, какого либо. Допустим
    #include <stdio.h>
    А в других ОС модули просто другие. Ну короч примрно понял. А так как во FreeBSD встроена поддержка linux (не по умолчанию, просто при установке предлагает ее установить фря.). Можно учится и кодить под linux. Но тогда как я понял нужно уже не cc компилятор узать, а gcc. В общем, самое главное что учить С стоит.

    Особенно дали желание учить, эти слова:
    GALIAFF-> что за вынь? wine?
     
  11. GALIAFF

    GALIAFF Elder - Старейшина

    Joined:
    28 Sep 2007
    Messages:
    45
    Likes Received:
    28
    Reputations:
    5
    windows
     
  12. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    сорри, я не понял. пост удалил.
     
  13. Forcer

    Forcer Elder - Старейшина

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    да, под все. Только код нужно будет(как правило) перекомпилироватьт под каждую отдельную ось. Почитай что такое Переносимость кода и Кроссплатформенность. Си-компиляторы созданы под огромное количество платформ, в том числе и микроконтроллеры(под них как правило только Си-компиляторы или java-платформа).

    Смотря какую цель преследуешь. Если админить FreeBSD, то наверное будет полезно. Хотя я не работал с фряхой. У меня друг админит фряху на работе - все хочет выучить Си, так что наверное нужно. А так вообще полезно будет знать хотя бы даже для общего развития. Опять же все упирается в цели которые преследуешь. Если хочешь зарабатывать программированием на Си - то рабочих мест мало и это как правило работа с какими-то микроконтроллерами, драйверами, что-такое, админство фри тоже самое :) . Еще Си применяется при написании антивирусников, фаеров - чего-то такого, и то, по-моему, какие-то небольшие блоки, в основном на С++ пишут. При разработке систем реального времени еще применяется. Вроде ничего не забыл.

    Мне кажется есть некоторое недопонимание. Си не привязан к какой-то плаформе. Есть стандарт языка Си - последний в 99 году был принят. В нем закреплены синтаксические конструкции и библиотеки функции. Если все требования стандарта выполняются, то компилятор может считаться соответствубщим стандарту этого языка. Большинство компиляторов не соответсвует стандарту на 100%. Хотя различия достаточно мелкие. Наиболее близки вроде gcc и intel'овский компилятор. У каждой ОС есть API - прочитай что это в википедии. У каждой системы он разный. Если его использовать - то код будет выполняться только на этой системе. Так вот этим и отличается программирование под unix от win. Ну еще также отличается средами разработки, компиляторами. GUI еще под каждую систему по-своему программирруется - через разные библиотеки. Хотя есть кросспалформенная библиотека qt.

    Нормальный в каком плане. Про Си уже писал. На С++ - можно разрабатывать большие проекты - скорость выполения высокая + удобство отладки, тестирования. Почему на Си не разрабатываются большие проекты(во всякмо случае их очень мало), потому что большой код - имеется ввиду несколько десятков тысяч строк - очень сложно отлаживать, плюс времени на написание этого кода уходит очень много. С# - современный - я бы сказал наиболее коммерческий из перечисленных. Позволяет быстро разрабатывать сложные приложения. Совмещает простоту разработки с мощностью. Мэинстрим можно сказать. Можно назвать клоном Java'ы. Два этих языка - можно сказать - самые современные на сегодняшний день - больше всего используются - больше всего коммерческих приложений на них разрабатывается. Поэтому, каждому свое вообщем.

    фрю не юзал. У меня убунта. Юзаю среду разработки NetBeans. Пишу на Java и C++.

    P.S. что-то много получилось :)
    поправьте пожалуйста, если я в чем то не прав, спасибо.
     
    #13 Forcer, 8 Jun 2008
    Last edited: 8 Jun 2008
  14. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Forcer-> растроился, думал С самый лучший (т.е. востребованый) язык считается из С++ и С#, но учить все равно буду, потом все равно легче будет php доучить мне.
    А ответ супер, + кинул, получил всю ту инфу которую хотел узнать, для начала*)))
     
  15. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    А ассемблер??? Про java не слыхал, но С транслируется на асм, после чего компилируется. -) (это про мк)
    ЗЫ Остальное описал норм -) с меня плюсик.
     
  16. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    1. Под какую-то именно. Из общего только одинаковый синтаксис. Остальное - API.

    2. Актуально.

    3. Всем. Абсолютно разное API.

    4. Абсолютно разные языки. А считается, что в Москве кур доят.

    5. А на чем их еще писать? На бейсике, асме и пхп чтоль??

    6 gcc.

    Тема закрыта, т.к. все ответы получены.
     
  17. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Хотя открою.

    Это приимерно насолько же необходимо, как необходимо гинекологу иметь вагину ))

    на C++? Да ну тя нафиг )
    В Java, .NET и еще практически всех языках это удобнее, чем в C++.


    Если C++ - то советую купить 3 книги: любой учебник(из вменяемых, вроде авторства Дж. либерти), книгу страуструпа и книгу по Qt.

    Так же сюда еще неплохо было бы джаву добавить(чей клон(.NET) мы уже обсудили). Имхо джава все же будет помощнее своего клона. Но это только мое мнение. И не только мое ;)
     
  18. procedure

    procedure Elder - Старейшина

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    nerezus-> возникает вопрос, есть ли различие компиляторов сс и gcc?
    Можно ли видеть ход компилирования программы в сс?
     
  19. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Джава - это попытки англичан остаться на рынке софта! Говорят что менеджеры Sun летают по компаниям производящим мобилы и втюхивают Симбианы почти за даром, при том что WM лучше на порядок и в цену мобильника входит полновесно!

    ... о самой джаве не слова плохого не сказал, только констатирую факты!
     
  20. Forcer

    Forcer Elder - Старейшина

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    Да, забыл, конечно же ))). Но по-моему проще выучить один язык Си, чем учить асм под каждую конкретнуюю платформу. Та же фигня с java-платформой - поставил и радуйся. Был в апреле на выставке - Sun Tech Days - там, кроме всего прочего, показывали приборы запрограммированные на java - в них вшита java-плаформа и определенное ПО на java. Видел гироскопы и какую-то штуку - которая держит равновесие - типа качелей - сама раскачивается - и пытается удержать в верхней точке, у нее это получается :). Могу дать ссылку на видео вконтакте. Хотя с программированием под мк практически не сталкивался. Максимум что было - в универе программировали на паскале(!!!) какие-то приборы, но там задание было типа нажми кнопку(всмысле напиши пару команд) - получи банан, как впринципе и большинство(хорошо хоть не все) задания в универе.

    имел ввиду по-сравнению с Си - плюсы ООП :) . Так то в Java это все на гораздо более высоком уровне :). В других языках не знаю - думаю тоже наверное неплохо )).

    почему англичан? Sun - американская компания.

    А мелкософт наверное еще и приплачивает! :))))

    Java ME - это мягко говоря не вся Java. А лишь малая её часть )). Хоть эта часть и более известна широкой публике. Enterprise Java - вот где сила )).
     
    #20 Forcer, 8 Jun 2008
    Last edited: 8 Jun 2008