C# или Java за по-дълбоки знания?
Здравейте, искам да ви попитам кой от двата езика, ще ме спусне по на дълбоко в дълбините на програмирането? И двата езика ми харесват, но се целя към този, който ще ми даде повече знания по програмиране. :)
Здравейте, искам да ви попитам кой от двата езика, ще ме спусне по на дълбоко в дълбините на програмирането? И двата езика ми харесват, но се целя към този, който ще ми даде повече знания по програмиране. :)
Това е доста спорно. И двата езика са страхотни и имат доста възможности. При Java има повече писане, но пък нещата са малко по четими, а и като ти минат през ръцете се запомнят и усвояват по - бързо. При C# имаш доста неща на готово, но пък ги иползваш без да се замисляш и съответно не се разбират толкова добре ... плюса е, че по бързо може да достигнеш до крайната цел на твоята апликация(по - бързо се пише код). Аз лично ти препоръчвам да избереш този, на който ти е по приятно да пишеш и ти е по любопитен. Самото превключване между единия и другия става доста лесно. От C# на Java е малко по тегаво, след като си разглезен от толкова много фючъри, но не е невъзможно. Придържай се към този който ти е по РАЗБИРАЕМ(интуитивен) и разбираш как се случват нещата.
Успех
За по- дълбоки знания е най- добре направо C, защото там една структура трябва да си я създадеш сам, което отнема около 2-3 часа само за разбиране и след това още толкова, пък да разбереш логиката на самия код с пойнтърите, също така трябва сам д си заделяш памет и след това да я освобождаваш с malloc, calloc и т.н. Относно C# и Java те са почти сходни, но в Java няма неща като { get; set} на същия ред на променливата, а се налага да пишеш методи getAge и setAge, с които малко повече ще се разбере концепцията на ООП ( не че и в C#) не можеш да ги напишеш, но когато самия език не ти го позволява е малко по интересно :). Също така в Java има много класове за всичко, при които виждаш как се правят инстанциите и как се подават самите параметри.
От прочетеното разбирам че препоръчваш Java от 2та езика :)
Да, напълно лично мнение. Но аз по- добре научих ООП-то на Java
Проблемът е, че освен много видове езици за програмиране (които са по-скоро инструмент, отколкото крайна цел), има и много видове приложения. Какво имаш предвид? Embedded, web, dekstop, Big Data? Ако имаш предвид по-голям обем технически познания и усвояване на концепции в програмирането като цяло, това се постига по-скоро чрез C/C++, като в допълнение подхванеш и Prolog/LISP/Scheme, примерно.
По принцип питам само за C# и Java, не знам какво не разбра... Иначе web/desktop.
Подкрепям казаното от колегите по-горе, но със следната уговорка. В общия случай, за бързо спускане в дълбините на програмирането нито C# нито Java са най-добрите варианти, защото предлазполагат към по-плавно навлизане в програмирането, тъй като началните знания, необходими за писане на базови програми с тях са по-малки (най-малкото не ти се налага да се сблъскваш с концепциите за менажиране на паметта). Придобиването на знания, обаче, зависи най-вече от желанието и мотивацията на човек и няма особено значение с кой език ще започнеш, стига да подходиш сериозно и да приемеш мисълта, че ще минеш през няколко езика, докато откриеш този, който ти допада най-много, което пък зависи от типа проложения, които предпочиташ да пишеш в момента, защото всеки език си има силни и слаби страни и човек не трябва да се ограничава само с един.:)
Иначе, ако трябва да сравня програмите в СофтУни по "Основи на програмирането", мнението ми е че програмата на C# е една идея по-богата и пълна, отколкото по Java, която се явява адаптиран и донякъде съкратен вариант на тази за C#.