[Еми за това ще умират тези езици. Как е възможно 2 години да се боря със C++ в университета и да седна на Java и с 2 часа стаж да мога да направя повече неща отколкото на C++? После защо се пишело на модерните езици. Защото сядаш и почваш да пишеш, а не четеш първо цялата документация на библиотеките.
Просто сядаш и какво пишеш? Отговори ми, де? Научил си бързо Джава, защото вече си знаел С++, нали? Ако Джава беше толкоз лесна и продуктивна, нямаше постоянно да търсят нови и нови хора, нямаше да има текучество, нямаше да има 1000 версии на библиотеки и среди, нали? Паскал и С++ забавиха развитието си не защото са отживелица, а защото се натрупаха библиотеки, среди и специалисти за тях! Ама повече за ЕП не споря, това е ясно - един харесва блондинки, друг брюнетки, трети негърки. За целта, за която ги харесваме, всички вършат работа, нали?
Сядам и написвам повече отколкото на C++. Не твърдя, че съм знаел или знам нито Java нито C++. Да C-style синтаксиса, който съм научил от C++ не съм го учил отново за Java, но все пак остава факта, че след два часа можех да напиша много повече на Java. Говорим за GUI, string manipulation и всякакви такива упражнения. Дори мрежи. Аз за разлика от автора на темата защитавам да се започне обучението със C++ защото в Java/.NET има много неща които са скрити от програмиста (За добро), но е силно препоръчително да не кажа задължително да знаеш какво става зад завесите, а би било много трудно да се разбере какво става без C/C++ основи.
Нещо не разбрах логиката за Pascal. Използва се все по-малко, защото има много библиотеки и специалисти? Да не би всичкия възможен софтуер на Pascal да е написан?
Ти просто генерално бъркаш IDE с ЕП! Няма какво да коментирам повече. Очевидно не си пипал Делфи 2007 - неговото IDE и tools са 1:1 с всички съвременни среди, а езика вече е само условно Паскал - има нововъведения в синтаксиса, подобни на Джава и С#. И фирмите, пишещи на Делфи не намаляват, а се разширяват като екипи и доходност. Единственото помпене на Джава идва от западните фирми, за които се прави outsourcing в България. А ако си чел моя преден пост, избора на Джава от тези фирми е продиктуван от по-комерсиални съображения, не от тва дали езичето е по-удобничко или с по-добър синтаксис, а от многоплатформеността, преносимостта и донякъде евтините среди за него.
Съвсем не. Но си абсолютно прав, че го използвах в този смисъл, а и не можеш да отречеш, че функционалността на IDE-то зависи до голяма степен от платформата и ЕП. Например свободния синтаксис на C не позволява на IDE-то и компилатора да разпознаят конкретно много грешки и често се случва да ги покажат например 30 реда по-надолу. Също много полезно нещо за IDE-тата което е една от основните причини в Java и .NET да има такъв брутален intellisense е рефлективността.
Относно пишещите Delphi - те намаляват като процент. Дори в България, а по света още повече. Разбира се на всички ни е ясно, че за всички има хляб и глада за програмисти в българия е доста сериозен, но това, че има свободни места за Delphi програмисти не значи, че езика става по-силен. И накрая както сам каза Delphi е заминало доста далеч от Pascal. Ако забележиш никъде не съм казал, че Delphi е лош език (аз и за C/C++ не съм го казвал, но там мощно оплюх библиотеките).
А генералното ти схващане, че BEGIN END ти пречи да ползваш Паскал/Делфи, или че := било адски по-голямо от =, както и че = и == били сложени за удобство - е просто твое предположение. Проумей, че ние не те караме да пишеш на Делфи или С++ - ти ще си пропишеш и ще го благославяш, ако ти се наложи, а просто искаме да не плюеш така злобно и да не си изсмукващ доводи защо си се отказал от тях - ми отказал си се и толкоз - имало е причини, но те касаят теб в определен, фиксиран момент от твоето развитие и кариера. Помисли малко и не бъди толкова емоционален! Аз някъде да псувам Джава? Знаеш ли колко неща не ми харесват в нея? Писал съм и на Джава и на С++, вкл с MFC. Писал съм и на Асемблер доста неща. Прочети пак за поръчването и плащането на музиката... И защо ли моето CV е така голямо и съм търсен? Аз не знам....
Не съм казал, че се умира от писане на BEGIN/END. Казах че е по-неудобно от {/} и продължавам да го твърдя. Вие тука не ме убеждавате, че е по-неудобно, а просто, че не било чак толкова зле. Хубаво не е толкова зле. Питахте ме какво имам против Pascal синтаксиса и си казах. Може да са много малки и нищожни забележки, но на мен ми стигат да прескоча този език докато още има C-style езици.
Edit: И защо ли джаварите не спят нощем, а делфиеца (аз) си спинкам сладко и не поствам посред нощ?
Защото не играеш StarCraft в 3 през нощта? И не ме обиждай на Javar, аз съм от тъмната страна:)
Edit2: Съвременните програмни системи изобщо не са само код - той е 15-20% максимум, другото е правилна концепция, проучване, проектиране на интерфейса и базата данни, организиране на поддръжка и обновяване, обучение на потребителите и още 1000 неща, касаещи ИЗПОЛЗВАНЕТО на програмата, не програмирането и (защото клиента плаща, за да я използва, не да си гледа и любува на красивия и изчистен код на Java). При това положение, кода е най-маловажната на практика част от системата (исках да кажа избора на език и процеса на кодиране) и затова има все още системи на Делфи, MFC, Visual Basic и така нататък.
И понеже е малка част от всичкото можем да си позволим да не е най-удобното? Айде опитай да ми дадеш един аргумент за използване на Delphi вместо .NET, различен от "С това имаме опит", "Проекта е legacy на Delphi" или "За Delphi има <постави мега специфичен компонент тук>" (последното не важи защото наистина трябва да е мега специфичен и в крайна сметка и .NET си има мега специфични компоненти)
Edit3: Да, на Джава по-лесно се стартират проектите, но се завършват еднакво трудно с тези на С++/Делфи. Ентропията е същата и проблемите с клиента и заданието са същите!
Тука трябва да се намеси Тасков, дето заплашва хората с код на C++.
Еми за това ще умират тези езици. Как е възможно 2 години да се боря със C++ в университета и да седна на Java и с 2 часа стаж да мога да направя повече неща отколкото на C++? После защо се пишело на модерните езици. Защото сядаш и почваш да пишеш, а не четеш първо цялата документация на библиотеките.
Ще ме извиняваш, но това изказване е все едно да кажеш : "Вече знам как да водя диалог на френски и мисля да напиша роман"... Едно е да можеш да четеш и да пишеш, съвсем друго - да пишеш правилно и красиво на даден език. За първото се иска да научиш синтаксиса и основните конструкции, за второто - да научиш идиомите при писането на този език!
Да съм казал, че съм станал великия Java програмист. Казах, че въпреки повечето страдание със C++ не мога и диалог да водя дори.
И няколко думи за Java. В JDK 1.5 бе въведена поддръжка на Unicode 4.0 - обаче в Java типът char е фиксиран на 16 бита - не е зависим от платформата както е в C++. Но тези 16 бита вече не са достатъчни за представяне на всеки символ от новата, още по-голяма кодова таблица. За това един символ вече се представя или чрез един, или чрез два char-a! Освен това ако мислиш, че един Java програмист не трябва да мисли за менажирането на паметта, жестоко се лъжеш! Тук може да не се налага да освобождаваш на ръка заделената памет, но е повече от добра практика да нулираш всяка вече ненужна референция само и само тя да бъде затрита и паметта - върната в pool-а за повторна употреба. И Java програмите страдат от memmory leaks - заради лош стил на писане. Друго - поради наличието на автоматично освобождаване на паметта, нямаме деструктори и сме лишени като програмисти да се възползваме от наличието на специална кукичка в обекта, където да закачим кода за освобождаване на ресурси, заето от обекта при създаването му. От тук идва и необходимостта всеки, който ползва обект, заделящ ресурси, да се грижи за тяхното освобождаване в своя код, вместо това да става автоматично както е при наличие на деструктор.
Някъде горе съм написал, че не съм първи курс, но явно си го пропуснала. Това с null-ването на променливите са легенди като онези според които за:
String a = "a";
String c = "c";
String e = "e";
String x = a + "b" + c + "d" + e + "f";
трябвало задължително да се замени последния ред със StringBuilder иначе щял да свърши светът. Да представи си знам, че може да leak-ваш памет през unmanaged ресурси. Само дето да напишеш лоша програма на Java е към 100 пъти по-трудно отколкото да напишеш лоша програма на C++. Колкото до деструктурите... В Java няма ли finalizers? Знам, че не е същото, но доста прилича и практически върши същата работа. В C# има, ако в Java няма - лошо, но пък си струва мъката заради другите предимства пред C/C++.
Според мен най-големия плюс на Java са предоставяните с нея библиотеки, които са пълни много полезни помощни класове и са доста по-богати от STL-а на С++. Но Boost библиотеката на C++ като гледам изравнява позициите и в това отношение.
Аз не ревах ли точно заради библиотеките. И то не мисля, че пълнотата им е проблема (е и това е важно), а ужасните конвенции.
Т.е. на какъвто и език да пишеш, ако искаш да си добър, ще трябва да инвестираш време в четене и учене!
Ау добре, че ни каза. Тука всички си мислехме, че от днес за утре се става добър програмист.