LINUX.ORG.RU

подскажите с чего начать...


0

0

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

Re: подскажите с чего начать...

Программист начинает со структур данных и алгоритмов, а быдлокодеры — с изучения ЯП.

sdio ★★★★★ ()

Язык - инструмент для реализации алгоритмов. Хотя если хочешь всю жизнь кодить за еду - можешь учить сразу язык.

Unclown ()

По «си» все уже давно написано сто раз.
И как не противно это , книга отцов языка «Керниган, Ричи. Язык C.» обязательна к прочтению и изучению и ныне.

elipse ★★★ ()

> понял что лучше начинать с него, в плане, что все вроде с++ или ява, по синтаксису отталкивается от си

Возможно, ну и что? Попробуйте начать с Delphi / Object Pascal, потом и до «си» дойдёте.

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

Оговорюсь. Хочу начать изучение с современных языков. Не искать сотню древних библиотек и компиляторов, не учить сотню другую языков, перед тем как дойти до того, который хотел бы использовать. Хотелось бы выучить что то современное, что я мог бы постоянно использовать, тем самым совершенствуясь в нем. А потом, может быть(!) изучать другие. Моя работа никак не связана с программированием, и мне интересно это всего вроде хобби. И да, ребят, ну я знаю, что на лоре каждый искусный троль, ну можно немного по делу?=((

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

Хм , Си ныне на втором месте в проектах компаний после java.

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

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

>Случайно, вы версию языка программирования с моделью мобильника не путаете ? :))

я да вроде пока различаю=)

так я собственно о чем... видимо лор был абсолютно неудачным местом для размещение такого рода вопроса=)

тогда рекомендую python

хоть что то по теме^_^ но увы, спасибо, но нет...

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

и да,

подскажите чего-нибудь?

значило, подскажите толковую литературу, простите лоханулся=(

литературу так, что бы прямо для леммингов^_^

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

Можно многое не знать в программировании - но это не касаемо Си.
Я слабо представляю себе полезность квалификации программера неспособного воспринимать код на Си ...

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

>Я слабо представляю себе полезность квалификации программера неспособного воспринимать код на Си ...

Поэтому я хочу выучить си!

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

>Можно поинтересоваться, чем не устраивает?

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

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

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

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

>Хотелось бы выучить что то современное, что я мог бы постоянно использовать, тем самым совершенствуясь в нем. А потом, может быть(!) изучать другие

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

abraziv_whiskey ★★★★★ ()

«Керниган, Ричи. Язык C.»
Только бери последнее издание(третье, если не ошибаюсь). Если и с алгоритмизацией плохо, т.е. не понимаешь что такое язык, как он работает, как на нём писать даже если это псевдокод, то начни с чего-нить простово вроде(прости меня ЛОР) vb, C#, java, python.

Очень советую пайтон. Он очень прост, но на столько силён что на нём можно писать всё. Пока нет unladen swallow, у него одна проблема - производительность. Но если ты не желаешь писать на чистом пайтоне свою ММОЭРПОГЭ, то лучше варианта просто нет. Многие мои знакомые админы вместо баша юзают именно пайтон.
В общем, полезностей много. Но вот на счёт литературы... ничего посоветовать не могу. Я изучил пайтон имея уже большой опыт на С и С++, посему изучение заняло у меня ровно выходные.

Сейчас уже почти не пишу на С, а С++ вообще забросил. Полностью перешёл на пайтон + С для некоторых узких мест(можно пистаь свои модули на Си и юзать их в пайтоне!).

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

ТС учи алгоритмы, а сам язык и реализация алгоритмов это дело наживное.

Алгоритмика это базовое знание без которого знание ЯП просто пшик.

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

Скорее ЯП тогда как компьютер, а алгоритмизация - владение софтом.

tia ()

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

ИМХО
Изучать C ради С++ это бред.
Зы: Да простят меня посторы со своим ИМХО

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

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

Я дико извиняюсь, но вот наглядное упрощение данной фразы:

Человек, не умеющий ни писать, ни читать, задаёт вопрос:

- Я хочу стать великим пейсателем, что мне лучше сделать, заучить набор непонятных мне закорючек в этой толстой книге, или в этой?

И когда ему говорят: «Выучи алфавит и грамматику для начала», он все посылает со словами: «Мне это не надо, я буду и так великим пейсателем».

Тебя для чего умные люди к алгоритмам отсылают? «Программист»:D

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

ЕРЕТИК! НА ПЛАМЯ ЕГО! >:3

Вроде в толксах уже расставили все точки над «NET» и «Mono», простите за каламбур.
Да и вообще. Здесь вал ЛОРарий, а не какой-то там рсдн.
Заходить на уютный форум пингвоноводов и говорить чтобы ставили msvs это как в обществе афроамериканцев сказать что им стоит лучше мыться, а то уж больно они чёрные. Ей богу.

Если уж советовать что-то под «вендой», то тогда явно стоит начинать с VB.

В качестве оболочки или в качестве скриптового языка?

для скриптов. Очевидно же.

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

tia ()

И да, ни в коем случае не следует учиться программировать «чисто под линуху», только если не собираешься быть программистом. Это не востребовано, в лучшем случае найдешь работу в каком-нибудь НИИ им. Баццо, за копейки, и то вряд ли. Я бы посоветовал изучать Java, т.к. это востребовано, прибыльно и интересно.

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

Ну просто несложно представить как кто-то пользуется экзотикой в качестве шелла, маньяков-то хватает. Вот и заинтересовало, может такое тоже возможно :) Хотя там, надо полагать, по крайней автодополнения нет.

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

> использование ipython/python как полноценной оболочки для администрирования не является такой уж редкостью.

Интересно, автодополнение там есть?

sin_a ★★★★★ ()

Скажу и я пару слов. Начинать надо с учебников по информатики (если не проходил еще :), особо не зацикливаясь на этом, переходить к изучению Си (книгу тебе подсказали). Остальное приложится, если это «твоё» - значит все получится. Современная часть многих ЯП это ООП, сможешь понять концепцию, будешь в русле всех технологий.

А вообще программировать можно начинать с чего угодно. ИМХО, самые легкие в изучении интерпретируемые языки (питон, перл). С компиляторами несколько сложнее по началу, зато потом... =) Можешь и с явы начать, сча на ней пишут все и всё кому не лень, т.к. весьма все просто сделано.

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

>Если и с алгоритмизацией плохо, т.е. не понимаешь что такое язык, как он работает, как на нём писать даже если это псевдокод, то начни с чего-нить простово вроде(прости меня ЛОР) vb, C#, java, python.

Алгоритмика это базовое знание без которого знание ЯП просто пшик.

ну не на столько я нупъ=)

Изучать C ради С++ это бред.

никто не планировал... это я так ляпнул, не подумав=)

так что начинать нужно с азов, то есть с математики.

допустим не все так плохо=)

- Я хочу стать великим пейсателем, что мне лучше сделать, заучить набор непонятных мне закорючек в этой толстой книге, или в этой?

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

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

пример=)

в книге кернигана

MAIN () { PRINTF(«HELLO, WORLD\N»); }

в современном си.

#include <stdio.h> int main (void) { printf(«Hello, world!\n»); return 0; }

конечно все различия можно отдельно гуглить... но так по-моему не возможно что либо освоить=(

puts «Hello, world!» не советовать=)

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

>интересненькую такую книженцию по си. по актуальному си...

А. Крупник - Изучаем Си - отличная книжка для школоты

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

>>но так по-моему не возможно что либо освоить=(

Ну кстати зря. Многие вещи можно осознать лишь поняв их предысторию.

Зная её, можно понять логику последующих надстроек.

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

>Ну кстати зря. Многие вещи можно осознать лишь поняв их предысторию.

Зная её, можно понять логику последующих надстроек.

ну это все вполне логично... и читаю я пока именно кернигана. только вот все же что почитать для современного си?((

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

>вот с нормальным форматированием: http://khpi-iip.mipk.kharkiv.edu/library/pgm/kr/index.html#index

да чего толку от форматирования, если там код не совсем другой?

а учиться по книге вперемешку с еще кучей источников и википедией на перевес- тяжко=(

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

Никакого «современного» си, считай, нет, он лет 20 почти не менялся (С99 не в счет )). Бери второе-третье издание K&R, там все современно.

Сам учился по Подбельскому, вроде тоже неплохо.

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

>Никакого «современного» си, считай, нет, он лет 20 почти не менялся (С99 не в счет )). Бери второе-третье издание K&R, там все современно.

хм... а с99 это не си воплоти? или я чего то из википедии не понял.

тогда другой нупский вопрос. как с gcc(да и не обязательно gcc) собрать MAIN () { PRINTF(«HELLO, WORLD\N»); } без ругани?

nicewhiteandpof ()

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

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

Да, int main(void) похоже верно.

У си два основных стандарта - С89 и С99. Большинство пишет на С89.

как с gcc(да и не обязательно gcc) собрать ...

Этот код все же некорректен, видимо у тебя старое издание. Хотя gcc все равно компилит, только капс надо убрать ) Поищи вариант поновее, там как минимум include есть.

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

http://khpi-iip.mipk.kharkiv.edu/library/pgm/kr/c_1.html#l1

main () { printf(«hello, world\n»); }

http://thelib.ru/books/brayen_kernigan_dennis_richi/yazik_c-read.html

MAIN () { PRINTF(«HELLO, WORLD\N»); }

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

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

то ли и эта книженция устарела, то ли у меня с библиотеками что-то не так=( ругается на все, где есть переменные. попробовал в нетбинсе- он вообще «cannot resolve idintifier blabla»=(( как быть?

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