LINUX.ORG.RU

Язык программирования Си сложен в изучении?

 , ,


4

1

Тошнит от pascal, около 2-ух месяцев изучаю на нем азы программирования. Хочу начать программировать на языке уровнем пониже. Из известных мне понравился си, но вот спросил у знакомого, а он сказал что си очень сложен. Особенно укаатели, говорил лучше изучать его 3-им или 4-ым по счету. Конечно я понимаю, что с моим багажом знаний я буду быдлокодить по крупному, но программирование мне нравится. Блин так ли он сложен как его знакомый малюет?



Последнее исправление: cetjs2 (всего исправлений: 1)

Проще только ассемблер.

Lavos ★★★★★
()

Тошнит от pascal

Тебя скорее от программирования тошнит. Язык C здесь ничем не поможет.

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

От программирования нет

На каких языках ты еще программировал?

от паскаля да

Что конкретно не нравится?

anonymous
()

Си и Паскаль практически идентичные языки, разница крайне незначительная.

anonymous
()

Чистый C прост в изучении. Чуть-чуть проще, нежели Pascal.

В чем причина неприязни к паскалю? Он у вас до сих пор под DOS?

Deleted
()

уровнем пониже

как-то так, если правильно помню (давно забросил оба):

procedure a(); assembler;
  asm
    nop
  end;

Синтаксис, конечно же, зависит от реализации языка.

blexey ★★★★★
()

Без указателей ты и в Паскале не сможешь создать динамический массив или связанный список.

BTW Есть люди которые понимают этальные когомологии, осилили как-то.

Absurd ★★★
()

Си очень простой язык. А вот программы писать на нём довольно сложно. Особенно работающие с какими-нибудь структурами данных отличных от массива. Впрочем от паскаля он отличается исключительно синтаксисом и более слабой типизацией и я сомневаюсь что тебя не будет тошнить от C.

KblCb ★★★★★
()

на языке уровнем пониже.

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

Debasher ★★★★★
()

Процедурщина не может быть сложной.

fenris ★★★★★
()

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

anonymous
()

Если что указатели есть и в Паскале, да. Так что твой знакомый чего-то не знает, походу

Pinkbyte ★★★★★
()

ахаха :) бан школьнику, а корешу его, которому Сишечка третьим или четвертым языком, ковровая дорожка в биореактор. 2 месяца изучает и уже приелось. Если ты ничего толкового на Паскале написать/изучить не можешь, Сишка тебе не поможет. те же указатели если в паскале не понял, то и дальше ничего путного не выйдет. не смеши людей.

foreigner_web
()

ИМХО, нет.

Гораздо труднее усвоить все нюансы применения. Но это приходит с опытом.

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

drSchur ★★★
()

ничего сложного там нет, паскаль изучают разве что некроманты в отсталых школах и универах.

Deleted
()

С - это просто засохший кал, порножурналы с небритыми тетками и пара незарегистрированных стволов наших Отцов. Изучай современные языки типа сишарпа, эфшарпа или кложуры.

anonymous
()

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

Те, кто пугает сложностью нормальных языков и отсылает ко всяким Васикам, почему-то вбили себе в голову, будто ступенчатое возрастание сложности - вершина всего. Видимо, неверно обобщили свой школьный опыт. Арифметика идет впереди алгебры только потому, что арифметика - основа алгебры. А Basic - не основа Java, Java - не основа C++. Врачей-студентов не отправляют на первом курсе на мясокомбинат практиковаться в разделке туши. Изучающим русский не скармливают сначала болгарский.

Эти люди не учитывают ни личной мотивации, ни твоих черт характера, ни принцип новизны. Одного такого советчика знал лично - вряд ли он даже умел программировать: без айтишного образования, работал эникеем на госпредприятии, в круг обязанностей входил компьютерный набор текстов.

В реальном мире Си часто преподают как первый, например, на Интуите, где курсы Java требуют сишного бэкграунда, иногда - как единственный (индустриальный техникум моего города). И вроде бы, эти подходы работают.

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

Если цель - изучение Си, то, начав с других языков, ты будешь тяготиться всеми как несерьезными, как досадной помехой на пути к заветному желанию. И есть риск, что, нормально не выучив ни один, станешь поверхностно перескакивать со ступени на ступень.

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

Bagrov ★★★★★
()

Язык программирования Си сложен в изучении?

В изучении прост, в использовании сложен.

Тошнит от pascal, около 2-ух месяцев изучаю на нем азы программирования.

Не может тошнить от Pascal за 2(два!) месяца изучения программирования на нём. Не может. Тебя тошнит либо от программирования вообще, либо от осознания собственного нубства. Pascal тут не при чём, как и C, впрочем, тоже. И если от сверстников ты, первое время, сможешь замаскировать языком C свои неудачи, то позже ты завязнешь в том самом менеджменте памяти и указателях (о которых тебя предупреждал друг) и потеряешь время, необходимое на изучение алгоритмов и прочей дискретной математики. Ты можешь научиться бороться с неудобствами языка программирования C, но так и не научиться программировать. Прикинь, бывает и так.

(Представляю, как вывернет тебя наизнанку, когда ты поймёшь, что твои программы нафиг никому не нужны и не интересны, кроме тебя самого, как на Pascal, так и на C. Впрочем, не совсем так, - вначале всем будет интересно, а потом, чем более глубже ты завязнешь в программировании, тем менее интересно будет окружающим с тобой разговаривать об этом. Так-то.)

Хочу начать программировать на языке уровнем пониже.

Хватит врать, пиши правду: «нуб, изучаю программирование на Pascal, хочу стать крутым и уважаемым!»

Так, вот, чтоб стать крутым и уважаемым (или богатым) нужно знать алгоритмы и уметь программировать. Ни Pascal, ни C тут не показатель. Кстати, если внимательно посмотришь на историю программирования, то можешь заметить, что многие «крутые» программы (или, даже, хорошо продаваемые операционные системы) были вначале написаны на Pascal (и лишь значительно позже были переписаны на другие ЯП).

Кстати, чтоб стать богатым, действительно, нужно знать алгоритмы и программирование. Потому, что бизнес - это и есть алгоритмы и программирование, только не на компьютере (алгоритм подсчёта прибыли, алгоритм заполнения декларации, алгоритм подготовки годовой отчётности, алгоритм предоставления отчётности в налоговые органы, и т.д.).

Короче, учи алгоритмы, {построение, анализ и доказательство алгоритмов} и программирование, а не «крутые» языки программирования, потому, что до ассемблера ты всё-равно не доберёшся (а остальные языки программирования - абстрактное рафинированное фуфло, с той или иной степенью абстракции).

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

Меня тоже тошнило от паскаля в школе. Все эти обязательные объявления переменных в окрестностях заголовка процедуры, бегин-енды и пр...

По сабжу - ЯП нужно учить под конкретный круг задач. Для первого ЯП С вполне подходит.

А вообще пора то ли тему прикрепить по поводу выбора ЯП, то ли отдельный форум сделать...

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

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

Мальчик, ты - категоричный и необразованный дебил. По статистике, Паскаль - самый успешный язык программирования стартапов. Одна MS Windows чего только стоит.

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

Меня тоже тошнило от паскаля в школе. Все эти обязательные объявления переменных в окрестностях заголовка процедуры, бегин-енды и пр...

А теперь давай представим, как тебя тошнило бы от так горячо любимого и уважаемого тобой ассемблера? Ты же программист по сути - смоделируй ситуацию: ты в школе начинаешь изучать программирование с универсального ассемблера. Не тошнит?

(ты же не собираешься сейчас спорить об универсальности ассемблера?)

По сабжу - ЯП нужно учить под конкретный круг задач. Для первого ЯП С вполне подходит.

Он ещё с алгоритмами смутно знаком, а ты ему сразу выбор под нос суёшь. Это, знаешь ли, больше походит на подставу...

А вообще пора то ли тему прикрепить по поводу выбора ЯП, то ли отдельный форум сделать...

Нефиг отделяться. Пусть профи, типо тебя, помнят откуда они родом! :D

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

А теперь давай представим, как тебя тошнило бы от так горячо любимого и уважаемого тобой ассемблера?

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

(ты же не собираешься сейчас спорить об универсальности ассемблера?)

Что есть универсальность?;-)

ты ему сразу выбор под нос суёшь

Да! Добро пожаловать в большой мир;-)

Пусть профи, типо тебя, помнят откуда они родом! :D

Я вообще c программируемого калькулятора начинал;-)

AIv ★★★★★
()

Дай догадаюсь, в паскале тебе не нравятся begin и end?

Хочу начать программировать на языке уровнем пониже.

У тебя наверное какое-то своё определение слова «уровень».

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

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

Т.е. ты не связан с числодробилками и никогда не советовал смотреть gcc -S в случае чего?

Что есть универсальность?;-)

Началось. Вот этого я и боялся...

Да! Добро пожаловать в большой мир;-)

Странный у тебя мир - подстава на подставе... А если бы ему LISP больше подошёл, а ты ему C разрекламировал и впарил?

Я вообще c программируемого калькулятора начинал;-)

БЗ-32, МК-64, МК-52 ?

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

Т.е. ты не связан с числодробилками и никогда не советовал смотреть gcc -S в случае чего?

Связан, советовал, но асма не знаю. Выхлоп там и так понятен.

А если бы ему LISP больше подошёл, а ты ему C разрекламировал и впарил?

Си лишпу не помеха! Все равно лишперы фрагменты С-шного кода регулярно юзают.

БЗ-32, МК-64, МК-52 ?

БЗ-32. Когда отец принес на ночь MK-64 я смог сделать 2D посадку на луну;-)

AIv ★★★★★
()

Си очень прост. Особенно тот, который до С99, его компилятор можно на коленке собрать, под любую архитектуру.

А ещё есть диалекты типа SmallC, TinyC, но они вообще на любителя, типа меня.

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

Си лишпу не помеха! Все равно лишперы фрагменты С-шного кода регулярно юзают.

А всё потому, что в мире Unix/Linux язык программирования C - практически, как ассемблер. И, например, возня с низкоуровневым менеджментом памяти способна убить всё удовольствие от изучения более-менее сложных алгоритмов и программирования вообще.

БЗ-32. Когда отец принес на ночь MK-64 я смог сделать 2D посадку на луну;-)

Вот. Тогда ты не только читал журнал «Техника молодёжи», но и, наверняка, тщательно штудировал книжку Дьяконова по алгоритмам на программируемых микрокалькуляторах, и, просто, должен был проникнуться мыслью, что важнее алгоритм, а не устройство его исполняющее или язык реализации этого самого алгоритма.

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

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

2D программа все то же самое, но еще есть рельеф.

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

мб и мк-61, это было почти 30т лет назад

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

Так, вот, чтоб стать крутым и уважаемым (или богатым) нужно знать алгоритмы и уметь программировать.

Какая наглая ложь.

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

наверняка, тщательно штудировал книжку Дьяконова по алгоритмам на программируемых микрокалькуляторах

Нет конечно же! Я все делал по наитию.

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

Так, вот, чтоб стать крутым и уважаемым (или богатым) нужно знать алгоритмы и уметь программировать.

Какая наглая ложь.

т.е. если я сейчас уточню, что «нужно знать алгоритмы» ведения бизнеса и «уметь программировать» людей - то всё сказанное внезапно станет правдой?

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

Нет конечно же! Я все делал по наитию.

Какая наивная телепатия! Впрочем, я это воспринял как согласие.

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

Напрасно. Первая книжка по программированию которую я прлчитал быда «жемчужины творчества программистов» Бентли что ли... и было это сильно потом.

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

Таким «учителям» надо яйца выкалывать. Арифметика ни разу не является основой алгебры. А школьная математика - непоследовательная каша, где все самое важное вообще пропустили.

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

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

Чмоки, беби!

livi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.