Премини към съдържанието
1337CR3W

Помощ при дадените езици за програмиране - C++, SQL, PHP

Препоръчан отговор


Здравейте, тук съм за да попитам за помощ.

Както повечето всеки си "мечтана" или професия, с която иска да се занимава след време. Аз съм на почти 15 години и искам да науча 1 от тези 3 езика за програмиране - C++, SQL, PHP. Ако може някой да е нещо, като "учител" ще съм много благодарен. Все още не знам нищо за езиците за програмиране и е желателно да се почне от първата стъпка. :wink12: 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Започвай със C++. 

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Здравейте, тук съм за да попитам за помощ.

Както повечето всеки си "мечтана" или професия, с която иска да се занимава след време. Аз съм на почти 15 години и искам да науча 1 от тези 3 езика за програмиране - C++, SQL, PHP. Ако може някой да е нещо, като "учител" ще съм много благодарен. Все още не знам нищо за езиците за програмиране и е желателно да се почне от първата стъпка. :wink12: 

И какво точно искаш? Примерно, като частен учител, някой да ти преподава по 2 часа на ден или...? 15 години - значи 9-10 клас нали? Не ви ли преподават информатика в училище? Хващаш няколко дебели книги, прочиташ ги и започваш да задаваш неудобни въпроси на преподавателите :) Много помага (поне така си спомням - Боже, колко отдавна ми се струва)

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Относно въпроса ти кой език да избереш, мисля че има значение и това какво точно искаш да правиш(/ с какво да се занимаваш) или просто ей така да започнеш с нещо. Имам предвид дали примерно искаш да се занимаваш с потребителски интерфейс, графика или да речем с уеб разработка и конзолни приложени, мобилни приложения. Всичко е доста обширно... В Интернет има много материал, както и видео уроци, които доста помагат. На пазара книги колкото щеш... За програмирането също, мисля че са важни до някаква степен логика, алгоритми и основи. Аз съм почти на 14 и в момента се занимавам със СSharp, като ми помагат Visual Studio  и онлайн уроци  ;) P.S. Помисли и има ли за теб значение точно за каква ОС ще програмираш. 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Здравейте, тук съм за да попитам за помощ.

Както повечето всеки си "мечтана" или професия, с която иска да се занимава след време. Аз съм на почти 15 години и искам да науча 1 от тези 3 езика за програмиране - C++, SQL, PHP. Ако може някой да е нещо, като "учител" ще съм много благодарен. Все още не знам нищо за езиците за програмиране и е желателно да се почне от първата стъпка. :wink12: 

 

Привет,

 

С риск да повторя вече мнение, се съгласявам с @RaP_a_HoLicK - Трябва първо да си изясните в каква насока искате да се обучавате и с какво точно ще се занимавате - все пак термина "Програмиране" не е по-малък като обем от "Инженерство" - много и разностранни области се крият зад това. 

 

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

С++ = Обектно - ориентиран език, който се ползва за приложения от калкулатори до игри и дебели виртуални симулатори.

SQL = Езика на базите данни - е те това нещо е основата на почти всичко в софтуера. Почти няма приложение без някаква форма на Бази данни, което автоматично води до използването на някаква форма на SQL.

PHP = Предимно език за Web development и сървъри. Нещо, което се доближава до С, и все пак си е достатъчно различно от него.

 

Така, че може би по-правилния въпрос към Вас е "С какво точно искате да се занимавате, за да можем да Ви предложим най-правилните инструменти и езици, за да успеете да се развиете в тази посока ?"

 

Хващаш няколко дебели книги, прочиташ ги и започваш да задаваш неудобни въпроси на преподавателите  :) 

 

@flare - Без да злорадствам, но и аз много обичах така да постъпвам. 2-3 книги за С/С++ и после онези засукани въпроси я за наследяване, я за някой друг указател или псевдоним  :ph34r:  -  дето се вика мерихме си queue-та в часовете по информатика :P . Но поне беше полезно за всички, защото много допълнително инфо се обменяше !


  • Харесва ми 3

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

@flare - Без да злорадствам, но и аз много обичах така да постъпвам. 2-3 книги за С/С++ и после онези засукани въпроси я за наследяване, я за някой друг указател или псевдоним  :ph34r:  -  дето се вика мерихме си queue-та в часовете по информатика :P . Но поне беше полезно за всички, защото много допълнително инфо се обменяше !

 

Кой говори тук за злорадстване? :D Само от книги не може да се научи как се пише реално приложение. Огромна част от практическите проблеми изобщо отсъстват оттам. И тогава, като почнеш да пишеш някакви неща и като се сблъскаш с нещо, което не си и чувал има два начина - да откриваш топлата вода, при това болезнено бавно и вероятно погрешно или да питаш. И ако този, който питаш, също не се е сблъсквал с това, въпросът става неудобен :) Обаче, ако преподавателят е разбран това ще доведе до взаимно обучение. Между другото в една от книгите от Досиетата на Дрезден (сега съм на тази вълна) пишеше че в един момент спираш да се развиваш само от учене - трябва да започнеш и да преподаваш (разбирай да обясняваш това, което знаеш на някой друг), защото така получаваш нов поглед върху проблемите и начин да откриеш неща които иначе би пропуснал.

Така, че "умните" ученици са само от полза за преподавателите :)

Редактирано от flare (преглед на промените)
  • Харесва ми 3

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Абсолютно съгласен ! Но това не послужи за оправдание пред учителката ми по информатика, която си ми натряска 3-ката "за дето много знайш !" :D P.S. Извинявам се за малкия off topic - просто като съвет да се знае, че не всички учители посрещат ентусиастите с отворени обятия :).

  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ами, насочил съм глава към всеизвестната компания Valve, препоръчва се да съм на ТИ с един от тези езици и не, нашето училище е жива трагедия, учат ни още как да правим сайтове и презентации... нито книги нито учебници и не, не искам някой да ми преподава по 2 часа на ден а просто да ми даде старт :whist:

P.S мисля да почна с C++, като по-лесен... поне ми се струва по-лесен.

Редактирано от 1337CR3W (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

В България ще има доста да почакате да научите нещо от преподавателите! :P

Редактирано от gothicrock (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

В България ще има доста да почакате да научите нещо от преподавателите! :P

Конкретно за информатика - може би - иначе не съм съгласен.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

В България ще има доста да почакате да научите нещо от преподавателите! :P

 

Твърдения, лишено от каквато и да е мисъл...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Твърдения, лишено от каквато и да е мисъл...

 

Щом смяташ, че с мизерните заплати, които се дават в нашата образователна система, може да се привлекат знаещи хора, които да преподават... :P

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ами, насочил съм глава към всеизвестната компания Valve, препоръчва се да съм на ТИ с един от тези езици и не, нашето училище е жива трагедия, учат ни още как да правим сайтове и презентации... нито книги нито учебници и не, не искам някой да ми преподава по 2 часа на ден а просто да ми даде старт :whist:

P.S мисля да почна с C++, като по-лесен... поне ми се струва по-лесен.

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

 

От С към С++ прехода е относително бърз - доста лесно ще успеете да схванете логиката на тия "извънземни" термини като "виртуална функция", "клас", "интерфейс", "наследяване", "полиморфизъм" и т.н.  

 

Колкото до книги, мисля, че вече имаше теми в раздела, където бяха посочени много добри книги за начинаещи и напреднали - можете да ползвате търсачката и да ги видите :)

 

Поздрави !

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

От С към С++ прехода е относително бърз - доста лесно ще успеете да схванете логиката на тия "извънземни" термини като "виртуална функция", "клас", "интерфейс", "наследяване", "полиморфизъм" и т.н.

Значи излишно знание няма, та затова ти харесах поста. Обаче като стане дума дали C++ е разширение на C винаги цитирам Маршал Клайн:  

Should I learn C before I learn OO/C++? Don't bother. If your ultimate goal is to learn OO/C++ and you don't already know C, reading books or taking courses in C will not only waste your time, but it will teach you a bunch of things that you'll explicitly have to un-learn when you finally get back on track and learn OO/C++ (e.g., malloc(), printf(), unnecessary use of switch statements, error-code exception handling, unnecessary use of #define macros, etc.). If you want to learn OO/C++, learn OO/C++. Taking time out to learn C will waste your time and confuse you.

Превод (мой, възможни са неточности)

Трябва ли да науча C преди да науча ООП (Oбектно Oриентирано Програмиране) / C++? Не си правете труда. Ако крайната ви цел е да научите OOП / C++ и не знаете C, четенето на книги или минаването на курсове по C, не само ще ви загуби времето, но ще ви научи на един куп неща, които ще трябва после изрично да отучите, когато най-накрая се върнете на пътя си и започнете да учите OOП / C++ (например, malloc(), printf(), ненужно използване на switch, обработка на грешки/изключения, ненужна употреба на #define и така нататък) Ако искате да научите OOП / C++, учете ООП / C++. Ученето на C, ще ви загуби времето и ще ви обърка.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Значи излишно знание няма, та затова ти харесах поста. Обаче като стане дума дали C++ е разширение на C винаги цитирам Маршал Клайн:

 

Преполагам, щом човека го е казал, значи е така - все пак все още нямам опита му, нито мнението ми има толкова голяма стойност. 

Лично за мен, научаването на С ми помогна в доста голяма степен да науча С++.  Разбира се, ясно е, че със С човек поема информация и за ненужни неща - malloc, printf  и т.н., но пък помага достатъчно в обясненията как да се ползват указатели и псевдоними, които поне за мен бяха кошмар. Затова и едно време, по средата на С++ книгата, директно зарязах текущата глава и си изчетох от С съответните глави за указатели/псевдоними . Помогнаха ми, и след това си продължих по С++ оттам, откъдето бях зарязал. 

 

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

 

P.S. За съжаление, в момента на работа, С и С++ толкова рядко ги ползвам за писане на код, че едва ли не просто разписвам неща, само и само да не ги забравя.

 

P.P.S. Отново се извинявам за лирическото отклонение :).

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Лично за мен, научаването на С ми помогна в доста голяма степен да науча С++.

И при мен беше така, но пропускаш:

Ако крайната ви цел е да научите OOП / C++ и не знаете C,

Което е особено съществен детайл. Аз пък се занимавам основно със C, но съм гледал достатъчно код на C++, за да вярвам на едно друго изказване на същия човек, което гласи, че и топ експерт на C да си, ако не си пипал C++ си все едно новак там. Просто разликата в начина на мислене на някой свикнал с функционално процедурно и такъв свикнал с обектно-ориентирано програмиране е съвсем различен. Един код на C, (евентуално с дребни промени) ще се компилира със C++ компилатор и ще работи. Ама това въобще не го прави хубава програма на C++... Разгледай темата и ще видиш маса "C++" програми, които са всъщност C програми, ама функциите са направени на методи в 2-3 класа. Ето от това един C програмист много трудно се "отучва".

 

Редакция: благодарение на maxim4o

Редактирано от flare (преглед на промените)
  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

. Разгледай темата и ще видиш маса "C++" програми, които са всъщност C програми, ама функциите са направени на методи в 2-3 класа. Ето от това един C програмист много трудно се "отучва".

Обожавам С, хич не харесвам С++ :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

И при мен беше така, но пропускаш:

Което е особено съществен детайл. Аз пък се занимавам основно със C, но съм гледал достатъчно код на C++, за да вярвам на едно друго изказване на същия човек, което гласи, че и топ експерт на C да си, ако не си пипал C++ си все едно новак там. Просто разликата в начина на мислене на някой свикнал с функционално и такъв свикнал с обектно-ориентирано програмиране е съвсем различен. Един код на C, (евентуално с дребни промени) ще се компилира със C++ компилатор и ще работи. Ама това въобще не го прави хубава програма на C++... Разгледай темата и ще видиш маса "C++" програми, които са всъщност C програми, ама функциите са направени на методи в 2-3 класа. Ето от това един C програмист много трудно се "отучва".

Да - това, за С++ програми, които всъщност са С програми ми прави впечатление от край време в темите по форума. Доста от запитващите наистина смесват printf и malloc със cin или cout, delete/new клаузи. 

 

В този смисъл и спрямо мнението Ви, моя първи отговор по - горе може би е добре да се чете като:

"Да, започнете със книги за С++, като ако имате проблеми по разбирането на даден абзац, страница или глава, проверете дали в някоя книга за С или в по-специализирана литература това нещо не е обяснено по - разбираемо."

 

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

 

 

 

Обожавам С, хич не харесвам С++  :)

Ееее, тогава С++ ще се разсърди и ще хвърли Runtime Exception :(. С малко особен характер е :D

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
...

Ееее, тогава С++ ще се разсърди и ще хвърли Runtime Exception :(. С малко особен характер е :D

Хм, писал съм на C, Forth, FORTRAN, PL/1, Assembler, korn shell, SQL. PL/SQL, разни щуротии на лисп, коригирал съм програми на Паскал, джава, tcl

Ама С++ три пъти го захващам да го чета и трите пъти на третата страница го захвърлям :)

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Има прогрес - изтеглих си  Dev C++, остава само някой да ми каже как да започна  :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Има прогрес - изтеглих си  Dev C++, остава само някой да ми каже как да започна  :)

С много четене и мислене. Харесвате си няколко книги и почвате да четете!

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Обожавам С, хич не харесвам С++ :)

Аз нямам проблеми, докато не се смесват двата езика. Ама C има някои недостатъци, които в C++ няма. Основният, с който се боря редовно е обработката на грешки. В C трябва или супер внимателно да се планира къде ще се правят проверките, приемайки че надолу няма как да мине грешна стойност ( и при първия новобранец в тима става страшно), или да се препредава грешка през 100 нива, при което, ако една функция на високо ниво може да върне 6 различни типа грешки, които трябва да се обработят на 6 различни места, без да броим случаите в които трябва да се освободи нещо заето преди това... Ад. Нагледен пример - само много повърхностен:

Код на C++

void SomeClass::SomeMethod () throws (ExceptionClass1, ExceptionClass2, ExceptionClass3){    class1 obj1;    class2 obj2;    class3 obj3    obj1.SoSth();    obj2.DosthElse();    obj3.DosthThird();}

Код на C

error_type SomeFunc(){    error_type err;    err = do_sth();    if (err != NO_ERR):	    goto ERROR1;    err = do_sth_else();    if (err != NO_ERR):	    goto ERROR2;    err = do_sth_third();    if (err != NO_ERR):	    goto ERROR3;    return NO_ERR;ERROR3:   undo_sth_else();ERROR2:   undo_sth();ERROR1:   return err;}

Тука ми доведете един върл противник на goto, и му кажете да напише без goto горния код ама да кажем да извиква 7 функции, не 3.

Редактирано от flare (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ооо, аз обожавам goto още от времето на fortran където без него няма ифове :)

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ооо, аз обожавам goto още от времето на fortran където без него няма ифове :)

Ама то пък също си има солидни недостатъци. :) Употребата, която показах горе, е един от много малкото случаи, за които признавам, че трябва.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ама то пък също си има солидни недостатъци. :) Употребата, която показах горе, е един от много малкото случаи, за които признавам, че трябва.

Е, кво толкова, прави го мешавица от която да ти побелее главата (като моята) :) И кода става ужасен за поддръжка и търсене на грешки и оправяне на грешки и ъпдейтване и .....

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

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