Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: ZERG в Aug 10, 2006, 06:30



Титла: Програмиране
Публикувано от: ZERG в Aug 10, 2006, 06:30
Здравеите.
Понеже сам нов в линукс и ми е малко трудно да се ориентирам в някои работи. Искам да започна да уча програмиране но в интернет не намирам това което ми трябва. Исках да си купиа една книга програмиране под линукс която най-вероятно би ми сваршила работа само че се оказа че трудно се намира. Ако някои може да ми даде линк кам някои саит които да може да ми даде основите в програминето ще сам му благодарен.
 :)


Титла: Програмиране
Публикувано от: Hapkoc в Aug 10, 2006, 07:01
Сайтове, колкото искаш. Аз не по темата, но да си кажа - в българския език имаме буква 'Й'. Добре е да се ползва, иначе трудничко се чете. :)


Титла: Програмиране
Публикувано от: glarus в Aug 10, 2006, 09:51
Много общо задаваш въпроса, какво по-конкретно те интересува ? Кой език за програмиране, какво искаш да се научиш да правиш ?


Титла: Програмиране
Публикувано от: ZERG в Aug 10, 2006, 10:16
Taka izvinqvam se i 6te si zadam vaprosa po konkretno!!!!
 Znachi sega az sam chuval c++,znam che toi ne e lesen (to mai nqma lesni).Namerih edna knijka programirane s c++,ma pishe za windows tova ima li nqkakvo znachenie.Ako tova ne mi varshi rabota dai link koito da moje da mi poloji osnovite varhu c++ ;)


Титла: Програмиране
Публикувано от: Lord Bad в Aug 10, 2006, 10:35
1.Пиши на кирилица
2.С++ е един от най-трудните езици за програмиране в света, не се препоръчва човек да започва с него
3.Най-добре е да се запознаеш с основата, а именно С първо. Препоручвам ти книгата на Браян Керниган и Денис Ричи(създателя на С) - Програмния език С, второ издание. В България е издадена от Зест Прес, струва около 15 лева и за мен лично е най-добрата първа книга за програмиране въобще. Прочети нея, примерите там са насочени към Unix и без друго. Пък после вече ще говорим отново за С++...


Титла: Програмиране
Публикувано от: в Aug 10, 2006, 10:38
c++ не е за хора. Това е най-голямата грешка правена някога - да направят C обектно ориентиран. Съвсем сериозно, това е ирационален бълвоч. Недей!!! Освен което като ще пишеш приложения за X по-добре хвани python. Не че разбирам нещо от него, но със сигурност ще е по-добре, само защото не е cpp :)


Титла: Програмиране
Публикувано от: karaman в Aug 10, 2006, 10:46
ми като гледам посоката на разговора :p
да взема да ти препоръчам Delphi 7
с него не само ще се научиш да програмираш,
а и програмите ще си продаваш :)





Титла: Програмиране
Публикувано от: mhydra в Aug 10, 2006, 11:09
Цитат (Guest @ Авг. 10 2006,11:38)
c++ не е за хора. Това е най-голямата грешка правена някога - да направят C обектно ориентиран. Съвсем сериозно, това е ирационален бълвоч. Недей!!! Освен което като ще пишеш приложения за X по-добре хвани python. Не че разбирам нещо от него, но със сигурност ще е по-добре, само защото не е cpp :)

И какво препоръчваш на мястото на СРР? Питон?
 :)

А и между другото не разбирам от програмиране. .... само питам от любопитство.. ... щото и аз мисля се науча на нещо да пописвам от време на време.  :)
Та се оглеждам и аз за съвет.


Титла: Програмиране
Публикувано от: astronom в Aug 10, 2006, 11:13
Цитат (Lord_Bad @ Авг. 10 2006,10:35)

...
2.С++ е един от най-трудните езици за програмиране в света, не се препоръчва човек да започва с него
3.Най-добре е да се запознаеш с основата, а именно С първо. Препоручвам ти книгата на Браян Керниган и Денис Ричи(създателя на С) - Програмния език С, второ издание. В България е издадена от Зест Прес, струва около 15 лева и за мен лично е най-добрата първа книга за програмиране въобще. Прочети нея, примерите там са насочени към Unix и без друго. Пък после вече ще говорим отново за С++...

Това е доста погрешно. Освен общия синтаксис C и C++ споделят много малко други неща. Единия език работи с едни идеи, другия със съвсем различни. C++ е обектно-ориентиран език и се смята за грешка да се започва първо със C ако искаш да учиш C++. Защо ли? Защото свикнеш ли със C след това няма да пишеш качествен C++ код. Не ме питай какви неща на C++ съм виждал написани от "твърди" C програмисти.
Така, че ако решиш да учиш Java например учи директно Java, не минавай през C и C++, както може би ще те посъветват. Аз лично съм сивкнал с някой приоми от C и C++ и сега определени неща в Java ми се виждат странни и дори грешни, а те са си замислени доста добре.

Цитат (gat3way @ Авг. 10 2006,10:38)
c++ не е за хора. Това е най-голямата грешка правена някога - да направят C обектно ориентиран. Съвсем сериозно, това е ирационален бълвоч.

Да, вярно бях чувал, че се опитват да пуснат маймуни да програмират на него ;-). C++ не не грешка! C++ е за тези, които умеят да мислят и да се възползват от идеите и възможностите, които предлага (Справка: Бьоорн Строустроп - Програмният език C++).

Моят съвет е: Хвани един език от високо ниво (дали това ще е C++, Java, Python и т.н.) и го научи добре, ама наистина добре. И се стреми да разбираш идеите заложени в него... останалото е синтаксис и ползване на библиотеки ;-)

Успех!


Титла: Програмиране
Публикувано от: ZERG в Aug 10, 2006, 11:17
Благодаря много за отговорите вече имам на представа от каде да започна да уча и какво да взема като за начало! Още веднаж благодаря


Титла: Програмиране
Публикувано от: в Aug 10, 2006, 11:36
Да бе, между другото питон-а не е лоша идея, доста неща писани на питон съм виждал напоследък, жалко че нищо не му разбирам, но ако имам повече време ще се пробвам да понауча нещо :)


Титла: Програмиране
Публикувано от: в Aug 10, 2006, 11:47
Почни с паскал - така ще навлезнеш в езиците за програмиране. Под линукс имаше нещо наречено Kylix или едно друго (погледни архива със статиите на този сайт и ще видиш за какво говоря). Позанимай се и с html, javascript, php. Все скриптови езици - така ще се позагрееш и с интернет програмирането. Ако исаш да станеш сериозен програмист почни да учиш Java. За С++ ще са ти нужни много години практика с други езици, а и да поназнайваш малко от програмиране на ниско ниво, така че за сега не се захващай. Успех!


Титла: Програмиране
Публикувано от: vaniop в Aug 10, 2006, 12:07
Само да вметна докато сме още на темата за C и C++.. :)
Вярвам, че обектната ориентация е в главата на програмиста, а не в езика. Езика може да предоставя синтактични удобства, които улесняват ООП, но мисленето на автора е това, което прави програмата ОО или не.

На мен C ми е любимият език, защото има проста и много стриктна граматика. Близо е до желязото, а в същото време е достатъчно изразителен. Мисля, че е подходящ за обучение, защото ти налага да правиш много неща сам и тогава щеш не щеш се приучаваш оптимизираш и да ги правиш по най-простия възможен начин, защото иначе умираш. Не съм толкова краен да кажа, че няма нищо друго свястно като избор, но е добре да си минал през C, ако искаш да програмираш. Лично мнение..

Колкото за обектната ориентираност, ами типичен пример е ядрото на linux - писано е на C, а е обектно-ориентирано откъдето и да го погледнеш (да речем VFS и файловите системи, които го надграждат са типичен пример за полиморфизъм). Тъй че така наречените ОО езици само ти помагат да виждаш шаблоните по-лесно, но не са есенцията.

Всъщност ако човека иска да програмира само за забавление (колкото и абсурдно да звучи), може би наистина най-добре ще е да разцъка уеб програмирането (HTML, JavaScript, а после и нещо LAMP-ориентирано). Там поне резултата го виждаш много бързо и може да е много ефектен. Пък и гладен няма да останеш  :D


Титла: Програмиране
Публикувано от: Lord Bad в Aug 10, 2006, 12:30
Python е култов език, занимавах се малко на скоро с него - определно си струва да се научи. Изказването че е добре да не се учи С преди С++ е доста погрешно според мен, най-малкото заради пълната backward съвместимост между двата езика. С++ е един от пионерите в бума на ООП и като такъв хич не е бил застрахован от грешки и лоши решения при проектирането му. Въпреки това той е мощен, бърз и елегантен. Но както казах - изключително сложен. Много хора днес се мислят за С++ програмисти без да имат понятие дори от 1/3 от възможностите, потенциала и особеностите на езика. Това определено не е език за начинаещи - тук няма предпазни мрежи и спирачки...


Титла: Програмиране
Публикувано от: в Aug 10, 2006, 12:41
Всъщност, vfs layer-a е едно от  малкото неща в ядрото, за които ООП-подхода би имал смисъл, тъй като там се налага да има нива на абстракция. И въпреки всичко, пак не е писано на cpp. Умните глави дето списват ядрата са много против cpp, според тях нямало един свестен компилатор, генерирал се бавен и абсурден код и т.н.

Предполагам наистина всичкото е в главата на писача на програми, за жалост акъла ми е ограничен като капацитет и не може да го побере ОО подхода :)

Според мен предимствата на ООП са при някакви големи проекти, които се пишат от много хора, или при разработване на програми с графичен интерфейс. За моите цели (не съм програмист и предимно пиша малки бъгливи неща, които да си нагаждам за моите нужди) не съм видял смисъл.


Титла: Програмиране
Публикувано от: astronom в Aug 10, 2006, 15:49
Цитат (Lord_Bad @ Авг. 10 2006,12:30)
... Изказването че е добре да не се учи С преди С++ е доста погрешно според мен, най-малкото заради пълната backward съвместимост между двата езика....

След като мислиш, че това е погрешен подход прочети книгата на Строустроп. Backward съвместимостта няма нищо общо тук. Принципно ако решиш да се занимаваш с обектно-ориентирано програмиране най-добрия подход е да започнеш направо с такъв език, а не да почваш от езици поддържащи други концепции.





Титла: Програмиране
Публикувано от: Lord Bad в Aug 10, 2006, 16:04
Ако решиш да се занимаваш с ООП най-добре да се занимаваш с някой чист ООП език като Java или Python. Не знам какво точно е писал бат Бьорн в книгата си, но С++ определено не е такъв език. Между другото и аз навремето си мислех като теб че няма полза да знае човек С, за да се занимава професионално със С++, но сега както виждаш съм на друго мнение...


Титла: Програмиране
Публикувано от: khalderon в Aug 12, 2006, 12:39
Цитат
Но както казах - изключително сложен. Много хора днес се мислят за С++ програмисти без да имат понятие дори от 1/3 от възможностите, потенциала и особеностите на езика. Това определено не е език за начинаещи - тук няма предпазни мрежи и спирачки...

По-добре нямаше да мога да го кажа ;)
Цитат
Не знам какво точно е писал бат Бьорн в книгата си, но С++ определено не е такъв език.

Като не знаеш, значи нищо не знаеш за С++. Това е Езикът на езиците. Като ти е труден и не го разбираш - никой не те кара насила да го учиш. Има и други чисто обектни езици - радвай им се. С++ не е за всеки програмист.


Титла: Програмиране
Публикувано от: karaman в Aug 12, 2006, 13:05
няма трудни езици за програмиране
има трудни езици за научаване, но по скоро eзиците за програмиране трябва да ги дефинираме така:

има езици, за които има много и добра документация как става това и онова
има езици, за които не се намира толкова добра документация как става това и онова
има езици, които са доста удобни за определени цели
има езици, които не са удобни за горните цели
има езици, които са удобни на програмиста
има езици, които не са удобни на програмиста
има езици, които се учат бавно (зависи от мозъка и нервите)
има езици, които се учат бързо (пак зависи от мозъка и нервите)
има всякакви езици

п.с. има и такива, дето само стават за чесане  :D





Титла: Програмиране
Публикувано от: vstoykov в Aug 12, 2006, 14:15
Цитат (ZERG @ Авг. 10 2006,07:30)
Исках да си купиа една книга програмиране под линукс която най-вероятно би ми сваршила работа само че се оказа че трудно се намира.

Книгата не се намира трудно. Може да потърсиш в Укипедия - Източници на книги (търси ISBN 9546851485). Първия линк води към:
http://www.books.bg/ISBN/9546851485
Виж и другите линкове и сравни цените и условията за доставка.

Имам книгата и съм прочел бегло някои глави. Смятам, че книгата е непълна (някои особености на програмирането под bash не видях да са описани). Може да хвърлиш един поглед и на това:
http://vslivecd.openfmi.net/linuxdoc/





Титла: Програмиране
Публикувано от: astronom в Aug 12, 2006, 18:39
Цитат (Lord_Bad @ Авг. 10 2006,16:04)
Ако решиш да се занимаваш с ООП най-добре да се занимаваш с някой чист ООП език като Java или Python. Не знам какво точно е писал бат Бьорн в книгата си, но С++ определено не е такъв език.

Да, с това съм съгласен - C++ не е чист обектно-ориентиран език, заради историческото си наследство от C. Бьорн е писал това което вече казах и след като го обмисих мисля, че е прав.

Цитат (Lord_Bad @ Авг. 10 2006,16:04)
Между другото и аз навремето си мислех като теб че няма полза да знае човек С, за да се занимава професионално със С++, но сега както виждаш съм на друго мнение...

Хе, хе... бас държа, че ме смяташ за тинейджър. Едно време и аз мислех като теб, но сега съм на друго мнение  ;)


Титла: Програмиране
Публикувано от: astronom в Aug 12, 2006, 18:43
Цитат (vstoykov @ Авг. 12 2006,14:15)
Цитат на: ZERG,Авг. 10 2006,07:30
Имам книгата и съм прочел бегло някои глави. Смятам, че книгата е непълна (някои особености на програмирането под bash не видях да са описани).

Само 416 страници!? Тоя автор не е добре... това е само залъгалка. Просто няма начин да е описал всичко. Едва ли такава книга в по-малко от 2 тома и/или по-малко от 1500 страници ще ми вдъхне доверие.





Титла: Програмиране
Публикувано от: ZERG в Aug 14, 2006, 20:12
Аз бегло се ориентирах кам C ,но имам един вапрос. Сега аз си намерих материали на англииски за C
Хварлих един поглед набарзо и пак не разбрах нещо. Вапроса ми е каква е разликата между програмирането под Линукс и това под Уиндолс. Ако може някои да ми обясни да не взема да започна да уча нещо за Уиндолс и после да не мога да го използвам под Линукс и да си бласкам главата напразно.
   Мерси много на всички дето помагат в тази секция!


Титла: Програмиране
Публикувано от: CaBA в Aug 16, 2006, 22:51
Цитат (ZERG @ Авг. 14 2006,20:12)
Вапроса ми е каква е разликата между програмирането под Линукс и това под Уиндолс. Ако може някои да ми обясни да не взема да започна да уча нещо за Уиндолс и после да не мога да го използвам под Линукс и да си бласкам главата напразно.

Най-точният отговор на въпроса ти е The Art of Unix Programming


Титла: Програмиране
Публикувано от: ZERG в Aug 17, 2006, 08:31
Какъв компилатор да използвам за Си ++ за линукс. Разбрах че има Борланд но в тяхната страница имаше само за Уиндолс платформи а на мен ми трябва за линукс?
Ако борланд не ми варши работа предложете някои компилатор дето ще ми е от ползва.
 Благодаря Много


Титла: Програмиране
Публикувано от: karaman в Aug 17, 2006, 09:11
в ГНУ/линукс дистрибуциите се ползва предимно GNU Compiler Collection
или gcc. Последната версия 4.1.1 поддържа следните езици:
c (поддържа до ANSI C 2000)
c++
ada
fortran (fortran95)
objc
objc++
java
на теб ти трябва поддръжка на c++
това са
g++-* пакети на любимото дистро
ето документация за четене как се работи с тоя компилатор
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/

едит: Благодаря ти, phoenix, че ме поправи  :D





Титла: Програмиране
Публикувано от: в Aug 17, 2006, 09:50
Само малко уточнение, да не настане обърквация в главата на един начинаещ: gcc не е GNU C compiler, а GNU Compiler Collection - т.е. колекция от компилатори за различни езици. Малка подробнтост, но важна.


Титла: Програмиране
Публикувано от: Lord Bad в Sep 11, 2006, 12:08
Всъщност значи и двете неща ако трябва да сме напълно точни...