Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Обсуждение языка программирования С (https://forum.antichat.xyz/showthread.php?t=73011)

procedure 07.06.2008 22:16

Обсуждение языка программирования С
 
Недавно начал учить этот прекрасный язык и возникло несколько вопросов, которых я посчитал нужным создать лучш в болталке, так как это обсуждение.
1 Допустим я выучил язык С, я могу кодить под все системы, или нужно под какую то именно учить?

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

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

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

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

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

Лайт 07.06.2008 22:20

Цитата:

Сообщение от procedure
Недавно начал учить этот прекрасный язык и возникло несколько вопросов, которых я посчитал нужным создать лучш в болталке, так как это обсуждение.

Я конечно понимаю что это обсуждение, но лучше бы ты тему начал в соответствующем разделе, так как тут нормальных ответов мало получишь, только порцию флуда.

оlbaneс 07.06.2008 22:26

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

procedure 07.06.2008 22:32

olbanec-> я понимаю, только у меня книга с уклоном в Unix сторону. А что получается если научусь под Unix пиать, то под Linux не смогу?
Я хочу выучить так чтоб не пожелеть в будующем что я его выучил.

Да и еще хотел вопрос задать. Вот допустим я хочу для начала переити с уровня эникейщика на админа. Дык многие сказали что плохо, то что я пропустил Perl. Интересно чтобы с cisco работать, можно узать C?

оlbaneс 07.06.2008 22:38

Цитата:

Сообщение от procedure
olbanec-> я понимаю, только у меня книга с уклоном в Unix сторону. А что получается если научусь под Unix пиать, то под Linux не смогу?
Я хочу выучить так чтоб не пожелеть в будующем что я его выучил.

Да и еще хотел вопрос задать. Вот допустим я хочу для начала переити с уровня эникейщика на админа. Дык многие сказали что плохо, то что я пропустил Perl. Интересно чтобы с cisco работать, можно узать C?

ты здесь был? http://forum.antichat.ru/thread70280.html
я вот тоже учу. но все равно тоскую по паскалю. а в процессе обучения и прикладного юзанья ачата начинает нравиться пхп.
главное ввязаться в драку). ты пока основы выучишь сам разберешься в какую сторону двигать.

procedure 07.06.2008 22:44

olbanec-> ну тогда будем вместе учить*))
А почему тоскуешь по паскалю?

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

только у меня книга с уклоном в Unix сторону. А что получается если научусь под Unix пиать, то под Linux не смогу?

ZavodiJIo 07.06.2008 23:00

Там есть различия, но не существенные.. если научишься кодить под фрю, под линукс не особо сложно будет научиться.. А я хотел выучить, да блин не в то время начал.. Какраз подготовка к сессии началась :(

Delimiter 08.06.2008 00:04

очень много людей знают как ходят шахматные фигуры, старайся стать гросСсмейсером!

GALIAFF 08.06.2008 00:11

Цитата:

1 Допустим я выучил язык С, я могу кодить под все системы, или нужно под какую то именно учить?
у каждой систему есть свои особенности
Цитата:

4 Чем отличаются С, С# и С++? И какой из них самый нормальный считается?
си кроссплатформенный язык,си шарп толь вроде под вынь с её фреймворком, си++ обектно ориентированный язык, так что каждый язык под свои задачи. например подвынь то что можно на си++ написать в пару строк на си уйдет много времени, и наоборот. полезно знать и первое и второе.
Цитата:

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


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

procedure 08.06.2008 00:21

Цитата:

Сообщение от ZavodiJIo
Там есть различия, но не существенные

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

Особенно дали желание учить, эти слова:
Цитата:

Сообщение от Delimiter
очень много людей знают как ходят шахматные фигуры, старайся стать гросСсмейсером!

GALIAFF-> что за вынь? wine?

GALIAFF 08.06.2008 00:24

windows

z01b 08.06.2008 00:54

Цитата:

Сообщение от procedure
ггг*))))
я в курсе MicRO и Мастер уже научили*)))))), просто я предположил что под словом вынь имелось в виду wine.

сорри, я не понял. пост удалил.

Forcer 08.06.2008 00:58

Цитата:

1 Допустим я выучил язык С, я могу кодить под все системы, или нужно под какую то именно учить?
да, под все. Только код нужно будет(как правило) перекомпилироватьт под каждую отдельную ось. Почитай что такое Переносимость кода и Кроссплатформенность. Си-компиляторы созданы под огромное количество платформ, в том числе и микроконтроллеры(под них как правило только Си-компиляторы или java-платформа).

Цитата:

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

Цитата:

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

Цитата:

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

Цитата:

6 И последнее, если есть программисты на С под FreeBSD, каким компилятором вы пользуетесь?
фрю не юзал. У меня убунта. Юзаю среду разработки NetBeans. Пишу на Java и C++.

P.S. что-то много получилось :)
поправьте пожалуйста, если я в чем то не прав, спасибо.

procedure 08.06.2008 01:12

Forcer-> растроился, думал С самый лучший (т.е. востребованый) язык считается из С++ и С#, но учить все равно буду, потом все равно легче будет php доучить мне.
А ответ супер, + кинул, получил всю ту инфу которую хотел узнать, для начала*)))

z01b 08.06.2008 01:46

Цитата:

Сообщение от Forcer
микроконтроллеры(под них как правило только Си-компиляторы или java-платформа).

А ассемблер??? Про java не слыхал, но С транслируется на асм, после чего компилируется. -) (это про мк)
ЗЫ Остальное описал норм -) с меня плюсик.

nerezus 08.06.2008 09:31

Цитата:

1 Допустим я выучил язык С, я могу кодить под все системы, или нужно под какую то именно учить?

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

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

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

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

6 И последнее, если есть программисты на С под FreeBSD, каким компилятором вы пользуетесь?
1. Под какую-то именно. Из общего только одинаковый синтаксис. Остальное - API.

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

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

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

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

6 gcc.

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

nerezus 08.06.2008 09:44

Хотя открою.

Цитата:

Если админить FreeBSD, то наверное будет полезно. Хотя я не работал с фряхой. У меня друг админит фряху на работе - все хочет выучить Си, так что наверное нужно.
Это приимерно насолько же необходимо, как необходимо гинекологу иметь вагину ))

Цитата:

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


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

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

procedure 08.06.2008 17:15

nerezus-> возникает вопрос, есть ли различие компиляторов сс и gcc?
Можно ли видеть ход компилирования программы в сс?

Delimiter 08.06.2008 17:25

Джава - это попытки англичан остаться на рынке софта! Говорят что менеджеры Sun летают по компаниям производящим мобилы и втюхивают Симбианы почти за даром, при том что WM лучше на порядок и в цену мобильника входит полновесно!

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

Forcer 08.06.2008 17:51

Цитата:

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

Цитата:

на C++? Да ну тя нафиг )
В Java, .NET и еще практически всех языках это удобнее, чем в C++.
имел ввиду по-сравнению с Си - плюсы ООП :) . Так то в Java это все на гораздо более высоком уровне :). В других языках не знаю - думаю тоже наверное неплохо )).

Цитата:

Джава - это попытки англичан остаться на рынке софта!
почему англичан? Sun - американская компания.

Цитата:

Говорят что менеджеры Sun летают по компаниям производящим мобилы и втюхивают Симбианы почти за даром, при том что WM лучше на порядок и в цену мобильника входит полновесно!
А мелкософт наверное еще и приплачивает! :))))

Java ME - это мягко говоря не вся Java. А лишь малая её часть )). Хоть эта часть и более известна широкой публике. Enterprise Java - вот где сила )).

nerezus 08.06.2008 23:39

Цитата:

Говорят что менеджеры Sun летают по компаниям производящим мобилы и втюхивают Симбианы почти за даром, при том что WM лучше на порядок и в цену мобильника входит полновесно!
Левая лапа ящерицы моей девушки и то более компетентна в этом вопросе ) Поверь =)

n0ne 09.06.2008 00:38

Имхо стоит для начала выучить основы. Чтобы была база на которую будут ложица знания, а если ты уж хочешь учить си++, то учи всё, а не кусками. Тем более когда ты совершенно не знаешь язык ещё рано выбирать какую-то узкую направленность. Когда сможешь написать какую-нибудь платформонезависимую программу среднего уровня без лазаний в маны по каждой функции, да и просто особо не напрягаясь - вот тогда уже стоит учить что-то узконаправленное)

fucker"ok 09.06.2008 00:40

1.Сможешь, если будешь кодить правильно.
2. Актуально еще как. Я кстати сам начинал писать именно под freeBSD\linux (кстати между ними проблем с переносом нет. Код компилиться в обоих системах)
3. Различия есть, но если держаться стандартов, то править совсем не много. Лучше всего использовать фраймворк, тогда вообще править не придется.
4. C++ и Qt.
5. А на чем тогда ядро линукса и bsd написано? =)
6. gcc он там всегда обязан быть. (Только наверно ты имел ввиду среду разработки, типа delphi, а не компилятор )

Цитата:

А в других ОС модули просто другие. Ну короч примрно понял. А так как во FreeBSD встроена поддержка linux
Особой разницы в коде для freebsd и linux нет. У них один компилятор, одни и те же библиотеки и инклуды. Может там если примочки для ядер писать, то да - разница есть. А если что-то обывательское делать, под консоль или гую, то разницы нет никакой (проверено).
Встроенная поддержка линукса в freebsd для того, чтобы можно было запускать бинарные файлы линукса.

Очень рекомендую фреймворк QT. Тогда точно с проблемой переноса не столкнешься, да и QT штука очень классная. Вполне можно прочитать какую-нибудь хилую книжку азов С++ (типа С++ за 21 день) и купить книгу по Qt.

procedure 09.06.2008 03:47

чем больш я вникаю, тем больше у меня вопросов. Поэтому тему и создал в офф топе. Я конечно стараюсь искать в googel.com, но интересно так же услышать мнение разработчиков, все чем я могу вас отблагодарить только, это + за ответ повысивший мои знания.
Цитата:

Сообщение от fucker"ok
6. gcc он там всегда обязан быть. (Только наверно ты имел ввиду среду разработки, типа delphi, а не компилятор )

Я имел в виду компилятор, 1 потому что работаю в консоле и не пишу слоных программ. В основном сейчас идет обработка выходных данных, рассартировка, замена с условиями, фильтры, короч работа с текстом.
Хотя со средой разработки ты меня очень сильно заинтересовал.
Остается вопрос, а если я компилирую программы в сс компиляторе, можно ли сделать так чтоб показывались не только ошибки, но и сам ход компилирования, для меня это важно.

nerezus 09.06.2008 23:14

Цитата:

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

Delimiter 09.06.2008 23:20

2 Nerezus
значит лапа у твоей девушки волосатая и бизцветная .... а о компетентности , не тебе говорить! 8))) я защищаю любого пишущего даже тебя, хотя к людям способным решать хотя бы ACM-овские задачи тебя не отношу, извини не хэк!

.... с 21-го по 28-го еду во Вьетнам на комп тусовку, желаю твоей девушке хотя бы быть там оффицианткой!

n3m0 09.06.2008 23:36

начни с С, потом узнай особенности С++. ну а потом переходи на С#
Очень актуально сейчас программирование под .net(высокооплачиваемая должность)

GoreMaster 09.06.2008 23:39

начни с С, потом узнай особенности С++. ну а потом переходи на С#
Тысячу раз уже говорили,что языки разные..
нахрена начинать с СИ и потом через него узнавать СИ++.
Все равно что начать учить немецкий с изучения английского
Цитата:

значит лапа у твоей девушки волосатая и бизцветная .... а о компетентности , не тебе говорить! 8)))
если уж не ему судить о компетентности, то и не нам подавно.
Кстати совеую выбирать выражения в отношении нера и его девушки...орошо знаю обоих и не советую 3,14здеть что-то про лапы и возмодность стать официанткой
Джава - это попытки англичан остаться на рынке софта!
А можно привести факты того,что джава это только попытки и ничего больше.
Цитата:

хотя бы ACM-овские задачи
че такое асмовские задачи?

Delimiter 10.06.2008 00:00

Acm - студенческая олимпиада по программированию ( хотя сейчас и для школьников проводится)

... это очень большой показатель, при оценке программиста, Acm-овец начнет решать задачу даже если не существует мат.аппарата, а другой полезет в гугль, искать эту математику, чтоб хоть как то составить алгоритм.

... на античате же задачки выше среднего по сложности.... никто не решает. И без разницы гуру не гуру....

Я вообще не понимаю что отвечают люди понтящиеся знанием кернеловских функций, когда их просят решить трудную задачку, наверно что времени нет(но вот никак не пойму их мнение что они знают Си не страдают при этом?)!
.... да и мы почему должны верить что все ихние произведения банально не скопипейcтены?


Вот вопросц Гамлет отдыхает!

GoreMaster 10.06.2008 00:09

это очень большой показатель, при оценке программиста, Acm-овец начнет решать задачу даже если не существует мат.аппарата
У меня прелвзятое отношение к олмпиадам...ибо практической пользы от них никакой, т.к. с вопросами решаемыми в олимпиадных задачах редко сталкиваешься при написании ПО(если оно не специфично).
Цитата:

на античате же задачки выше среднего по сложности
неочень подходящие сравнение
Цитата:

что все ихние произведения банально не скопипейcтены?
все уже изобретено давно сейчас нам остается только правильно это использовать..так что копипаст есть.
Цитата:

Я вообще не понимаю что отвечают люди понтящиеся знанием кернеловских функций, когда их просят решить трудную задачку
Что для тебя "трудная задача"?

Delimiter 10.06.2008 00:13

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

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

GoreMaster 10.06.2008 00:17

Цитата:

Настоящий программист увидит сам задачу придумает сам математику-решение, и сделает(без олимпиадного опыта он будет ждать пока ему не поставят задачу, по сути превратившись в балласт)!
Ты забыл сказать,что программист должен грамотно реализовать "свою" математику, так как здача программиста не только построение алгоритма.
Цитата:

без олимпиадного опыта
Толку от него никакого, ибо программист с опытом по разработке реального ПО, окажется более полезным.
Цитата:

сводить все к шаблонам
Почему сразу шаблоны...просто лишний раз изобретать свой велосипед не есть хорошо =)

И кстати, чаще всего требуется разработчики, то есть люди с хорошей фантазией и умеющие программировать,а такое не каждому дано

Цитата:

Ну зайди в топик студентам
Я приблизительно догадываюсь, кто в таком топе постит %)
Кинь прямой линк на понт нерезуса

Delimiter 10.06.2008 00:25

реальное ПО ?????? А что есть нереальное ПО???
поэтому думаю.... олимпиадный опыт существует а реальное ПО НЕТ!
как впрочем и неграмотной математики тоже нет!
Вернее олимпиадник в компоненте реализации даст 100 очков вперед поскольку его задачи проверяются как на множественных тестах так и на соответствие времени выполнения!


.... понт Нерезуса был в том что он пропустил задачу о магических квадратах 5х5, а начал обьяснять какую то опцию компиляции!

Да ладно .... вам с этим жить!! Я не склонен понты кидать! Сейчас там (Студентам с лабами)сидит человек в надежде помощи в решении вхождения множества в другое множество а вы тут философствуете!

GoreMaster 10.06.2008 00:29

Кстати, а ты не думал, что к олимпиадным задачам можно просто подготовиться - прорешав пачку?
И тогда олимпиадник сдувается при написании ПО в реальных условиях.
Цитата:

олимпиадный опыт существует
его нет, но тебя не переубедить
http://forum.antichat.ru/showpost.php?p=517042&postcount=17
кстати в тему
Цитата:

Сейчас там (Студентам с лабами)сидит человек в надежде помощи в решении вхождения множества в другое множество а вы тут философствуете!
Спасение утопающего дело рук самих утопающих =)
Я берусь решать задачи только, если они мне интересны =)
Цитата:

понт Нерезуса был в том что он пропустил задачу о магических квадратах 5х5, а начал обьяснять какую то опцию компиляции!
Его право было пропустить эту задачу.

Delimiter 10.06.2008 00:35

8))))) к олимпиадным в смысле попытаться решить то что может выпасть? 8)))))))))))))))

И выпадет алгоритм Дейкстры.... он конечно выпадет на смежной матрице только этой матрицы нет! 8))))) Ее никто тебе не дал и тему не указал , и то что нужно искать минимум на остове графа тоже ты сам решил!

.... если при таком подходе вы скажете что в жизни олимпиадник будет хуже другого применять алгоритм Дейкстры ( никто вам не поверит) !


Спасибо за линк! Я убедился что Нерезус просто никакой!
пусть учит синтаксис, собирает сертификаты, они ему пригодятся в копи пейстных делах8))))))))))))))!

GoreMaster 10.06.2008 00:42

Кстати, ты судя по всему один из олмпиадников, я угадал? %)
Цитата:

Спасибо за линк! Я убедился что Нерезус просто никакой!
пусть учит синтаксис, собирает сертификаты, они ему пригодятся в копи пейстных делах8))))))))))))))!
ты его слишком плохо знаешь, чтобы в чем-то убедиться ;)

Delimiter 10.06.2008 00:43

скорее работодатель! 8))) И олимпиады по физике были!

Да нет человек написавший такое про олимпиады имеет комплекс , поэтому брызгает слюнями на то в чем не разбирается!

GoreMaster 10.06.2008 00:46

скорее работодатель!
Тогда могу посоветовать книгу
Джоэль Х. Спольски
"Лучшие примеры разработки ПО".
Там есть также советы работодателям, думаю пригодятся
Кстати, если не секрет, то сколько олимпиадником трудится на твоей фирме ? =)
Цитата:

Да нет человек написавший такое про олимпиады имеет комплекс
а что именно вызвало негодование в его высазывание?
Опровергни его утверждение, может он изменит свое отношение к олмпиадам

Delimiter 10.06.2008 00:51

в представительстве Интел 4 человека, в статусе ведущих программеров! Но это не моя фирма.... я партнер!
Но иногда работаем вместе!

Delimiter 10.06.2008 00:58

Кароче я думаю пора прощаться с античатом!!!! Прощавайте, жалко что нельзя репу никому передать 8))))))))) Всех античатовцев из Аськи удаляю!!!!


Время: 23:43