Автор Тема: Как да започна с програмирането?  (Прочетена 73642 пъти)

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Как да започна с програмирането?
« Отговор #30 -: Sep 16, 2012, 12:23 »
Започни със "C". Ще ти даде оснава приложима във всички езици.

Да "започни със С" и ще можеш да пишеш и на prolog  ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

XpucToBa

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Re: Как да започна с програмирането?
« Отговор #31 -: Sep 16, 2012, 13:04 »
@b2l просто запитването ми беше дали да започна със C и после да мина на C++. Или пък направо да започна със C++. Видях в темата, която постнах ето това:
Цитат
Важно е да знаеш също, че от С++ лесно ще минеш на ДЖАВА. Обратното не е толкова вярно
Има ли смисъл да се минава от C++ към Java? Разбрах, че C++ е ОО, а C не е ОО. До колко е вярно не знам. Ако ще започвам направо със C++ ще разгледам онлайн книгата на Магдалина Тодорова. Не искам да започвам със задачи а направо с някакъв език.
Активен

Oxy

  • Напреднали
  • *****
  • Публикации: 253
  • Distribution: Fedora / Gentoo / Debian
  • Window Manager: KDE (4.2/ 3.5)
    • Профил
    • WWW
Re: Как да започна с програмирането?
« Отговор #32 -: Sep 16, 2012, 13:38 »
Хората ти казаха има цел за всеки език. Ако искаш да пишеш десктоп приложения ще пишеш на С++ (За многоплатформеност ще се ще учиш и Посикс апито и уин32 Апито). Ако искаш да пишеш Интранет Портали ще пишеш Жаба. Ако искаш да програмираш мултиплатформено или пък за андроид пак ще пишеш жаба. Ако пък искаш да пише за Ай-* ше пишеш обжектив С. Реши какво искаш да правиш и почвай. Каквото трябваше да се каже по темата се каза.
http://www.nakov.com/books/ ей тука има за жаба и С-шарп. За С разбра на "Езика С" за С++ не знам. Съвета ми е да не четеш разни туториъли по разни сайтове, писани от мними специалисти, защото после ще си биеш главата в стената. Както се казва занаят се краде, не се дава. Визирай никой много добър, на когото му плащат 10 000 на месец(май това в бг е нереално, така че 5 000) няма да тръгне след работно време да пише туториали за да може после някви пишлеме да му подбиват цената на труда.

XpucToBa

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Re: Как да започна с програмирането?
« Отговор #33 -: Sep 16, 2012, 13:57 »
Значи започвам със С++, благодаря на всички отзовали се! :)
Активен

bvbfan

  • Напреднали
  • *****
  • Публикации: 1056
  • Distribution: KaOS
  • Window Manager: Plasma 5
    • Профил
Re: Как да започна с програмирането?
« Отговор #34 -: Sep 16, 2012, 17:02 »
Започни да четеш и след всяко нещо, което ти е станало ясно трябва да пишеш код и да тестваш. Ако има нещо неясно пишеш кода и казваш какво искаш да постигнеш, аз ще помагам.  ;)
Активен

tdonev

  • Гост
Re: Как да започна с програмирането?
« Отговор #35 -: Sep 16, 2012, 19:40 »
.. изтрито от автора ..
« Последна редакция: Feb 02, 2015, 19:43 от Тодор Донев »
Активен

bvbfan

  • Напреднали
  • *****
  • Публикации: 1056
  • Distribution: KaOS
  • Window Manager: Plasma 5
    • Профил
Re: Как да започна с програмирането?
« Отговор #36 -: Sep 16, 2012, 20:56 »
Само човек, който не може да се аргументира псува, аз никого не съм псувал. Изразих мнението си и мога да се аргументирам, тук не му е мястото.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Как да започна с програмирането?
« Отговор #37 -: Sep 16, 2012, 20:57 »
Тодоре, "колежката" е на 13 години и е най-добре да си редактираш коментара веднага, така че наистина да е в добрия тон.

Не знам дали младата госпожица все още чете темата. Ако да - има една поредица от четири учебника по информатика за VIII, IX ... класове. Смятам, че можеш да ги минеш за около два месеца. Ще се опитам да намеря подробности за учебниците и ще ги добавя.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

borovaka

  • Напреднали
  • *****
  • Публикации: 1331
  • Distribution: Каквото дойде
  • Window Manager: Gnome / KDE
    • Профил
Re: Как да започна с програмирането?
« Отговор #38 -: Sep 16, 2012, 21:03 »
@laskov Аз не ги препоръчвам учебниците за средно образование изобщо. На скоро ми се наложи да минавам един, за да си освежа речника с "понятия", за кандидат-студентския. И попаднах на много големи бисери ( на моменти плачевни ). Не съм си в къщи иначе бих цитирал :)

Колкото до C/C++ мен специално от литературата на български ми харесаха C/C++ Практически самоучител на Хърбърт Шилдт. Много по-добре представя материала според мен, за разлика от "нашумелите" книжлета на Магдалина Тодорова - които ми е много интересно госпожата, ако сама ги прочете дали няма сама да се обърка :)
Активен

Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Как да започна с програмирането?
« Отговор #39 -: Sep 16, 2012, 21:20 »
Не знам дали младата госпожица все още чете темата. Ако да - има една поредица от четири учебника по информатика за VIII, IX ... класове. Смятам, че можеш да ги минеш за около два месеца. Ще се опитам да намеря подробности за учебниците и ще ги добавя.

Абe @laskov не прочете ли по-рано, че тя написа, че не иска да решава задачи. Момичето е решило да програмира, не да смята...
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Как да започна с програмирането?
« Отговор #40 -: Sep 16, 2012, 21:28 »
Не, не съм. Впрочем, нямах намерение да пиша ...

Та - Информатика 1-ва част
Информатика 2-ра част

Добре ще е ако някой има впечатление за тях и го сподели.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

remotex

  • Напреднали
  • *****
  • Публикации: 344
    • Профил
Re: Как да започна с програмирането?
« Отговор #41 -: Sep 16, 2012, 22:21 »
и аз нямах намерение да пиша... но размислих
Няколко съвета на базата на моя вече почти 30 годишен опит - аз навремето започнах със Бейсик после Асемблер, Паскал, С, С++.. след това Джава, Лисп, Пролог, С# и какво ли още не

1. Добре е да се започне със С и след това С++ т.е. отдолу нагоре т.к. най-долу са Асембелер и С поне от по-разпространените езици а и по лесно се учи така инак... питайте някой дето е минавал от Джава или С# към С/С++ дали му е било лесно. Та препоръчвам за всеки начинаещ който сериозно смята да се занимава и развива в тази посока да започне със С. Книгите и материалите нямат чак такова значение - човек ако е достатъчно интелигентен с течение на времето сам ще ги отсее (има много /като бр./ хубави и много лоши) аз като почвах повечето светила навремето казваха че Бейсик бил противопоказен и т.н.

2. Това е групово или колективно занимание т.е. както и в спорта добре е човек да си намери групичка със сходни интереси инак по някое време омръзва и по едни или други причини може да се загуби интерес. Моят професионален опит е установил (изказвам лично мнение) че най-добре се работи в групи от по 3 до 5 човека или малко по-големи - ако работи сам човек случват се и грешки, ако са двама обик. (чисто психологически и като характер) единия винаги се налага затова мин. 3-ма но не повече от 10 че там почват едни проблеми с мениджмънта вече... но да не се разсейваме..
- Добре е да не се разчита само на форумите, колкото и добри да са, друго нещо си е личният контакт - някои хора успяват да те мотивират само със силата на волята си, други с професинализма си а трети ... просто гледаш да не ставаш като тях  >:D

3. След овладяване на основите на един-два езика (препоръчвам да се започне със С след това С++ след това може да се премине много лесно към кой да е друг език - обратното не винаги е вярно) ТРЯБВА да се изучат из основи и алгоритмите и структурите от данни. Тук вече може и да се премине към друг език за програмиране.

Под започване със С имам предивд... навремето аз като почвах езикът имаше всичко на всичко 26 оператора само - напоследък май са повечко но колко да са по-малко от 30 (някои азбуки имат повече букви) та имам предвид дори и само да се прочетат една-две книги ей така като художествена литература макар че е хубаво и по 1-2 примера да се пробват колкото да се хваната основите - оператори, функции, цикли, масиви и пр. без да се задълбава - да се положат основите дето се вика. После постепенно с навлизането в алгоритмите и структурите от данни да се премине от С към С++ (хубаво е поне по веднъж да се опита човек сам да си напише по една от основните структури от данни сам на С ако му е по-лесно със статични масиви ако е по-сериозен може да опита динамични - стек, списък, опашка) След това следва запознаване със някоя по-известна библиотека като STL, boost, Qt След това вече няма проблеми с преминаване към който и да е друг език. изкл. SQL, Prolog и подобни където основната им парадигма е различна.

П.П. И обратния подход е възможен но е много по-труден (да не кажа на практика невъзможен) да се почне от високото ниво и да се върви надолу към желязото - познавам единици които не толкова че са успели но не се предадоха и се мъчиха докрай (някой неща все-още на са им много ясни но поне знаят какво не знаят или дет се вика дотолкова че да не се занимават с някои неща) ... познавам доста "колеги" започнали от високо с летящ старт със Джава или С# направо - тези които се опитаха по-късно да наваксат основните липси на ниско ниво са добре а другите... като не им го поддържат библиотеките на високо ниво и по-простите направо отсичат "Това не може да се направи" по-хитрите пък търсят third party библиотечка нещо я да краднат някой комерсиален продукт дори па макар и кракнат само и само да не се изложат и да скърпят нещо - ама че било бавно и т.н. прехвърлят вината върху техниката и как плачела за обновяване.

Затова ако не искате да ставате като тях, ако сте сероизни препоръчвам да се кара по метода отдолу нагоре - Може и с други езици разбира се стига отначало да са на по-ниско ниво.

А особено по-младите 12-13 годишни дечурлига (не се засягайте от израза) и аз запчонах на 12 г. още дете - не се знае след още 10-12 г. дали ще има Джава и/ли С# но С/С++ ще има. Напоследък даже и Майкрософт осъзнават грешката т.е. най-големия си пропуск със С# и .Net платформата - липсата на скорост - затова обръщат леко посоката и ще се опитат да наваксат със С++ понеже хората няма да си напишат сървърите на С# че ще са много бавни... представете си само Апаче сървър на C#.  ;D

Microsoft's 'Casablanca': Taking C++ to the cloud
http://msdn.microsoft.com/en-us/devlabs/casablanca.aspx
http://www.zdnet.com/blog/microsoft/microsofts-casablanca-taking-c-to-the-cloud/12592

Колкото ми се удава - толкова.

« Последна редакция: Sep 16, 2012, 22:50 от remotex »
Активен

bvbfan

  • Напреднали
  • *****
  • Публикации: 1056
  • Distribution: KaOS
  • Window Manager: Plasma 5
    • Профил
Re: Как да започна с програмирането?
« Отговор #42 -: Sep 16, 2012, 22:58 »
@remotex, хората с голям опит почти винаги препоръчват да се започне с асемблер или С. Според мен, с по-малко от 1/3 от твоят опит, мисля, че е възможно да се стартира от нулата със С# или Джава и без да се занимаваш с ниско ново, което ще спести доста време на учащия.
Активен

remotex

  • Напреднали
  • *****
  • Публикации: 344
    • Профил
Re: Как да започна с програмирането?
« Отговор #43 -: Sep 17, 2012, 00:05 »
Към колегата по-горе:

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

Второ - мисля че въпросът е оставен леко некоректно - разликата между С/С++ е около 10тина оператора а между С++ и С# е още по-малко... ако ще си ги мерим откъм библиотеки това вече е друго... и точно поради това е добре да се почне с нещо дето вече се е наложило още го има а и обозримото бъдеще е го има, а като навлезе в материята човек вече може и сам да реши накъде да задълбае.

инак... да почнеш направо със С# е като да дадеш на туземец атомно оръжие.

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

Мисля че в случая става дума за поставяне на стабилни основи (поне моят отговор бе в тая насока) - питащия не постави изисквания за време или пари - не твърдя че не е по-лесно да се почне със С# въпросът е когато почне работа този човек  и вече няма време а му се наложи да учи С++ тогава по-лесно ли ще му е отколкото ако сега (когато има време и желание) започне със С++ и после му се наложи да понаучи още 5-10 оператора - мога да ти кажа че аз С# го научих от движение по време на работа и без проблеми, а още не мога да обясня някой основни принципи на колеги започнали направо от Джава и C#...

П.П. тъй като в сл. учащия се е само на 13 т.е има ного врме пред себе си а и смята да става професионалист.. смея да твърдя че точно сега му е времето иначе кога като почне сериозна работа и не му остава вече време ли?

П.П.П. Не препоръчвам да се почва с асемблер но е хубаво да се прочете една книга поне - може и художествена литература по въпроса  8)

Всеки е свободен сам да решава откъде и как да започне защото най-дбре знае къде иска да стигне. Пък ние ще помагаме с каквото можем.

Между другото познавам лично само една колежка професионалист в тази област - дано и тази достигне същата висота.

Лек ден - колеги. (малка редакция - според новите правила за правопис вече няма колежки всички сме колеги .. за съжаление - колкото и тъпо  да ми звучи напр. колегата Петрова а още по-тъпо е ако фамилията завършва на -ин напр. Тицин иди че познай т'ва мъжко ли е или женско)
Ето на - пак е по-лесно да се прехвърля от старите правила за правопис къмм новите отколкото обратно - познай колко младежи сега ако трябва да се оправят със старите правила за сричко-пренасяне ще ги научат през остатъка от живота си... ::)
« Последна редакция: Sep 17, 2012, 00:32 от remotex »
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Как да започна с програмирането?
« Отговор #44 -: Sep 17, 2012, 00:51 »
@remotex, хората с голям опит почти винаги препоръчват да се започне с асемблер или С. Според мен, с по-малко от 1/3 от твоят опит, мисля, че е възможно да се стартира от нулата със С# или Джава и без да се занимаваш с ниско ново, което ще спести доста време на учащия.
Аз всеки зимен семестър бера ядове с различните експерименти, които се провеждат във ФМИ в тази област. Не че не е възможно да се почне от Java, но крайният резултат в общия случай е дървета без корени. Когато на тези дървета им се наложи да напишат няколко реда на C, проверяващи дали даден символ е главна буква, се получава:
Код
GeSHi (C):
  1. if(c=='A' || c=='B' || .......... || c=='Z')
понеже, вместо да запомнят базовите неща, като подредбата на буквите в ASCII, са се ровили из голямата библиотека с класове на Java, за да запомнят методите на String, Arrays, LinkedList, Buffered Reader...

разликата между С/С++ е около 10тина оператора
Разликата между процедурно програмиране и ООП не се измерва в брой на операторите. Всяка от двете идеологии си има своите практики и, ако човек не се запознае с тях подробно, а реши да кара „както си знае“, става голяма мазаница.

Отделно, има хора, които напълно отричат C++ като език, чието съществуване има смисъл (извън компютърната графика), понеже ООП-то му не отговаря на съвременните тенденции в другите езици. Та нуждата/ползата от изучаването му е под въпрос.

Аз (и друг път сме говорили по тази тема) също все още смятам за добре да се почва с чисто C и процедурно програмиране. Познавайки процедурното програмиране, човек може да се запознава с каквито други парадигми си иска. Познавайки C, ако реши, човек бързо ще научи синтаксиса C++ или Java. Само не трябва да забравя, че синтаксиса е съвсем малка част от езика, а основното е да се научи да „мисли“ на него, а не само да заменя int main() с public static void main(....).
Активен