LINUX.ORG.RU

ansi c с чего начать

 ,


0

1

Есть мечта продвинуться в изучении C. У меня есть 3-е издание K&R, на русском. Первые главы я в принципе проходил, упражнения делал. Но наверное нужна ещё среда, в виде какой то IDE и компилятора. Я в принципе планирую использовать VIM+GCC. Вим я худо-бедно применяю. Но в K&R материал даётся без привязки к конкретной среде. Похоже что там не будет принципов работы Makefile, скриптов конфигурации, принципов сборки программы. По этому, периодически я поглядываю на другие учебники. Из того что наметил себе к прочтению - Крупник, «Изучаем С» и вот такой вариант: https://youngcoder.ru/map.php В книге Крупника упоминается среда Борланд, для варианта по ссылке выше можно поставить Pelles C IDE. Связываться с Pelles C IDE можно, из уважения к составителю курса, я себе поставил. Крупника наверное можно читать в отрыве от Борланд))) Хотелось бы услышать ваши советы - что почитать, на какие, может быть платные/бесплатные курсы пойти. Какое хорошее пособие вы можете посоветовать. Лучше может быть даже и на английском полностью языке. Куда можно будет устроиться, если удастся чему то научиться. Я бы в принципе подумал о втором образовании. Программирование меня увлекает. Немного есть положительного опыта с автолисп, наверное я человек не совсем бесталанный. Рядом со мной есть пример перехода из строительной области в бигдата. Но наверное C не очень хороший и возможный вариант в качестве второго образования. Какие бывают дипломы в этой области, что бы быть трудоустройенным? Извините за столь пространную формулировку, мне, в первую очередь, интересно хорошее онлайн-пособие с привязкой к UNIX, POSIX и современной практике. Если просто почитывать, потыкивать время от времени - я никуда не сдвинусь. Если пойти на платные курсы, шансов сдвинуться с мёртвой точки больше, может быть и поняв что я это не потяну ни при каких обстоятельствах. Спасибо.

★★★
Ответ на: комментарий от anonymous

Тупым давайте задание написать мини IDE и тогда

Как узнать программист человек или подневольный раб?
Просто!
Программиста не нужно заставлять разрабатывать программы.
Это почти то же самое как пианиста заставлять играть на рояле …

И НЕ НУЖНО МУЧИТЬ ЛЮДЕЙ ТЕМ, ЧТО ИМ СТО ЛЕТ НЕ НУЖНО! ... 

PS: Троечку в зачетку и ауфидерзеен …

Владимир

anonymous
()
Ответ на: комментарий от AntonI

Тогда и системы сборки запрещаем к изучению?

MOPKOBKA ★★★★★
()
Ответ на: комментарий от anonymous

Программиста не нужно заставлять разрабатывать программы.

На этом форуме и УВАЖАЕМЫЕ такие вопросы, да еще с подковыркой задают, что «хоть стой, хоть падай».
А бедные студенты «от сессии до сессии бухают студенты весело. А сессия всего два раза в год» …
Насчет бухают мягко сказано /в мое время было именно так/ …

Владимир

anonymous
()
Ответ на: комментарий от praseodim

А если на расстроенном рояле?

Паганини и на одной струне МОГ.
А кто не может, тот НЕ МОЖЕТ …

Владимир

anonymous
()
Ответ на: комментарий от praseodim

Одна струна - это другое. А вот именно на расстроенном, когда каждый удар по клавише - фальшивый.

Я конечно понял, к чему вы клоните, но РАЗБОРКИ

НЕ МОЕ! ...

Владимир

anonymous
()
Ответ на: комментарий от praseodim

А вот именно на расстроенном, когда каждый удар по клавише - фальшивый.

Шутка

Гм.
Только сейчас понял о чем вы.

Вы о ЛОР ...

Владимир

anonymous
()
Ответ на: комментарий от vM

asm – не матчасть.

Зачастую - это производственная необходимость. Как без этого жить - я не очень себе представляю.

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

Зачастую - это производственная необходимость. Как без этого жить - я не очень себе представляю.

Микроконтроллеры …
Кто-то скажет 1С, …

У меня ВСЕ ПО ИНОМУ.
1С 7.77+++ к примеру готова /при этом 1С dll не используются/.
Можно загрузить любую конфигурацию и РАБОТАТЬ! …

Что сказать то хотел я?

По разному бывает

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Почему мне никто не отвечает? Долго мне еще общаться с самим собой?

Владимир, вы же знаете ответ и знаете что нужно сделать …

Владимир

anonymous
()
Ответ на: комментарий от vM

и погнали!.. ;)

Мне однозначно импонирует Ваше чувство юмора - так держать ;)

bugfixer ★★★★★
()
Ответ на: комментарий от hibou

Мне кажется, здесь можно привести аналогию с человеческими языками общения

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

Однако да, вы решили несколько практических задач и горды собой. Нахватались, тут кусь, там хвать. Вот только системы нет.

Если ты решил несколько практических задач, всё это пустобрёхство про программы обучения и системы знаний тебе уже абсолютно точно не нужно, ты можешь решать следующую практическую задачу. Если ты клинический гуманитарий и к первой практической задаче не можешь подойти и тебе нужно разжевать и в рот положить - тут конечно да, нужны мамки-няньки, но если так то не стоит ли выбрать занятие с большим КПД обучения?

Берете учите нужные жесты и вуаля. Вы уже говорите

Вы не понимаете, что вы говорите и почему оно именно так.

Если я говорю, то очевидно понимаю что. А «почему именно так» и какая связь между жестами «обед» и «12» мне нахрен не интересно, особенно на начальных стадиях обучения. Такого рода знания нарастают сами собой в процессе практики.

Язык это хоть и плохая аналогия, но хороший пример. Поехал я отдыхать в доминикану, а если что там 90% персонала не говорят ни по-русски, ни по-английски. Понял фишку, скачал испанский разговорник, почитал денёк на пляжике, и всё - 100 слов я знаю, и могу объясниться (без подглядывания). Правильный там порядок или нет, какие там артикли (и есть ли у них вообще артикли), окончания или ударения - мне похрен, свою задачу я решаю. А вот мой C1 английского выученного по программам и поставленное произношение мне только мешают - я себя чувствую не комфортно среди коллег с более низким уровнем. А для того чтобы комфортно письменно и устно общаться с людьми со всего мира и выступать на конференциях хватило бы того что я выучил ещё в детстве сам по не переведённым DOS’овским игрушкам. Пусть я и говорил бы как «фор мазер раша» и артикли бы путал, но потраченное на язык время лучше было бы пустить на верхи по 2-3 другим языкам. Уверен что оно ещё и мозг бы прокачало.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Не имею целью Вас обидеть. Но данный подход больше похож на поведение эникея. Мальчики делают сайты на вордпрессе схожим образом. Наподключают плагинов, причем половина из которых не нужны, а потом разбирайся после них, чего они наделали. Сайт при этом тормозит и заказчик платит за ресурсы хостинга в 4 раза больше, чем надо. «Ну а че? Работает же!».

Чтобы, кстати, совсем подтвердить, что я не имею целью Вас обидеть, напишу о чуть большем. Олимпиадное программирование. Не участвовали? Вот там именно решают практические задачи. Причем максимально быстро и максимально эффективно. Зачастую такой код выигрывает в скорости. Но проигрывает в качестве. Не применим в промышленном программировании. Его только выкинуть и переписать заново. Но да, практическая задача решена. Поэтому олимпиадников не очень охотно берут работать.

hibou ★★★★★
()
Последнее исправление: hibou (всего исправлений: 1)
Ответ на: комментарий от hibou

Не имею целью Вас обидеть. Но данный подход больше похож на поведение эникея.

Это оценочное суждение, поэтому обижаете вы только себя.

Я прекрасно понимаю на что это похоже для и как рушит устои старпёров которые привыкли «строить на века» (к которым я сам себя отношу), но если выбраться из вакуума и посмотреть на реалии рынка станет вполне очевидно что рулят другие показатели, например TTM.

Сайт при этом тормозит и заказчик платит за ресурсы хостинга в 4 раза больше, чем надо.

При этом скорость сайта не приводит к оттоку пользователей, а значит приемлема, а программисту заплачено в 10 раза меньше чем тому кто напишет в 4 раза более эффективный код. Домашнее задание - сравнить цену программиста и хостинга, выводы сделаете сами.

slovazap ★★★★★
()
Ответ на: комментарий от vM

У Вас какое-то розовое отношение к Яндексу. Это огромная компания, где работают абсолютно разные люди. Где из-за высокого конкурса людей на одно место, программисты поставлены на поток. Один уходит, другой приходит. Не велика потеря.

В мире программирования есть такие программисты, называемые рок-звездами. Они, как правило, редко пишут код, но ездят по всяким мероприятиям и конференциям. Выступают с докладами. Вы таких людей имеете ввиду? Их нанимают вовсе не из-за кода.

Олимпиадник либо может писать нормальный, НЕ олимпиадный код, либо нет. Большинство не могут. Потому что мозг уже затачивается по-другому. Вот те, кто не могут переключаться, их не очень-то берут.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Поэтому олимпиадников не очень охотно берут работать.

Моя практика говорит об обратном - последний действительно удачный hire, как думаете кто - международник по информатике. По факту - очень смышленым и продуктивным товарищем оказался. Побольше бы таких…

bugfixer ★★★★★
()
19 мая 2022 г.
Ответ на: комментарий от rupert

По ней можно научиться плохому.

присваивания внутри if/while типа:

if ((fp = fopen(*++argv, "r")) == NULL) {...

Это не плохое, это наоборот хорошее. Разве что == NULL можно на воскл. знак перед второй скобкой заменить чтобы было меньше визуального хлама.

FILE * fp = fopen(*++argv, «r»);

А вот такое (объявление и присваивание в одном statement, и это не статическая инициализация байтов) наоборот смотрится не очень, но тут уже дело вкуса.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от rupert

присваивания внутри if/while типа:

Не берусь утверждать, но я кажется такое видел в Linux kernel.

В документации Яббл по объетках Cи до сих пор есть такая «best practice»:

- (instancetype)init {
    if (self = [super init]) {
        // Initialize self
    }
    return self;
}
yurikoles ★★★
()
Последнее исправление: yurikoles (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.