Що вивчати? Java vs C#
Навчаюсь у Харкові. Нещодавно постало таке питання, на що орієнтуватися в майбутньому? Джава чи шарп. Подивися вакансії і як мені здалося, джавісту легше знайти роботу, та і платять їм краще. До цього всі задачі вирішував на шарпі, ось і думаю — чи не варто все-таки зробити акцент на джаві? Не хочеться залишитися без роботи коли закінчу. Що порадите?
Прошу ногами сильно не бити, за такі нубські питання. Рельної інформації отримати нема звідки. Більшість знайомих затяті дотнетчики тільки тому, що на шарпі легше швидко щось зробити.
82 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарівчтобы этого избежать нужно следить за тем, что пишется. если этого не делают, то это проблемы компании — упустили процесс
Не совсем. Иногда эти проблемы становятся твоими личными проблемами. Например уже не раз был в ситуации, когда очередной переоцененный «гений» уходит, а на тебя сваливают тонну кода, писанного в течении года не то что абы как, а вообще просто обезбашенно. Такого спагетти кода, я еще не видал — гуй, кастомная отрисовка, бизнес логика, секьюрити проверки, все запутано в такой камасутре, что мама не горюй, но все было бы не так печально, если бы не копипаста. Люди банально не знают, что уже написанный код можно _переиспользовать_, а не тупо копипастить в количестве сто единиц по всему проекту.
На год такой работы так согласился бы точно. Месить месный говнокод (написанный месными «гуру» ), который хуже любого говна не лучше.
это уже проблемы компании
Спорный вопрос. За 5к y.e. согласился бы г**но месить голыми руками?
Абсолютно согласен. Уже не раз наблюдал картину как менее грамотные товарисчи в техническом плане получали за меня ЗП больше порой в два раза. А все потому, что в свое время сумели на себя подвезать тонны не юзабельного говнокода и «правильно» поставить ситуацию, мол я уйду — больше тут никто не провернет. А вы, дурачье, и дальше пишете хороший и читабельный код. Вообщем действительно есть над чем задуматься.
По моему пункт 1 и увеличивается с «пядями во лбу», не?
если на вас висит кредит или больные родственики или вы просто студент которому хочеться на 100 баксов больше иметь на пиво то другие,
если вы в Харькове живете и любите этот город и никуда не собираетесь двигать или вы там учитесь, а сами из другого города и ничего зазорного для вас переехать во Львов, Одессу, Киев, Москву, Сеул, и понеслась нету то тоже советы другие итд...
это общий вопрос, так как не ясно какую работу и где вы хотите, потому что к примеру учителем информатики в районую школу в городке до 50к жителей вас возьмут с любыми знаниями Шарпа и Явы, но вы же не о такой работе говорите...как сказал один герой знаменитого произведения “Кому и кобыла — невеста”
так как топикастер не указал, ни город, не желаемый уровень дохода, расходов, ни опыта и куче других параметров, кроме C# & Java и сказал что это достаточно точное описание задачи, вот сразу на ум анекдот и вспомнился... ну, а если это точное описание задачи, то стоит тогда не много поработать на формализацией требований — в работе програмиста потом пригодиться, что бы не делать 6 лапого синего жирафа, а потом его перекрашивать в красный и приклеивать рога и сносить шею...
на эту тему можно спорить с теми кто это реализует, у Java есть неоспоримое преимущество — эвристику имплементировать и проверить намного проще чем на C++ и далее по вашему списку, а вы как понимаете не каждая эвристика найдет место в продакшене, но в данном случае все намного проще — пришлось подстраивать по условия топикастера:)...
Я просто к тому что системы механического трейдинга обычно на J2EE не пишут, а пишут на C/C++ или например Erlang/OTP. Джава сильно тормозная для high frequency.
а вообще это было на тему известного анекдота, который всплывает в куче разных вариаций:
Какая связь между брокерами JEE и NP задачами?
Заграницей — затусоваться делать PHD, а там тебе виднее будет; -)
если у вас 8 лет опыта в.Net и к 2012 году, вы выйдете на синьера с ЗП в 150к в Нью-Йорке, но так как у вас большая индусская семья и это не позволит снять достаточные апартменты в приличном районе, вы задумываетесь о дохоже в 200к, для этого вы размышляете что за 2 года можно такого выучить в J2EE, в принципе если вы пойдете в аналитический отдел брокера, так как рынок подымаеться и идут хорошие колебания и им требуеться народ с хорошим опытом, то вам там могут предложить, тогда наверное стоит нажать на распределеные вычисления в J2EE и не много подтянуть оптимизацию NP задач...
Хочу быть ресерчером, на что напирать?
Дык замени слово кодер на программист и все остаеться в силе!
Менеджером напевно ні. Кто такі ресерчири, тільки здагадуюсь. Поки що хочу бути программістом)
Дык, а кем хочешь быть? Менеджером? Ресерчером? В разных направлениях развития нужно напирать на разные темы.
Не знаю як воно буде, але просто кодером бути ой як не хочеться...
95% кодеров теория не нужна. Нужно знать немного SQL и фреймворков.
Впринципі твоя постановка питання довлі точна, і хотілось би почути щось корисне.
Щось конкретне порадите?
А как?
1. Привет теоретические основы — они актуальны всегда.
2. Привет предметная область — было б понимание процессов, а на чем их закодить — найдется.
3. Привет язык, с которого можно будет легко перескочить на новый. Мне думается, что смотреть нужно с сторону Джавы и Питона — вокруг них крутится большое коммьюнити, и с большой вероятностью новые веяния появятся в них. МС, как всегда придумает что-то свое с блекджеком и шлюхами, и старый экспириенс можно будет выкинуть коту под хвост и учить новый язык с нуля, наравне с джунами.
-
Ну и наконец самое главное — сохранять свежую голову.
Только небольшое уточнение. Давайте не забывать, что топикстартер претендует на позицию джун, а вакансии на java в основном для синьоров.
Открываешь dice.com, вбиваешь «java», в результате найдено 13490 вакансий.
Потом вбиваешь «c#», и получаешь 6790 вакансий.
13490 > 6790. Явный лидер — java.
Если сделаешь такое же по украинскому рынку, результат будет аналогичный. И по количеству вакансий, и по размерам зарплат.
ребята, у меня цель к 20ХХ году иметь возможность платить за комнату в общаге и не хитрые обеды или содержать семью на 10 персон, для этого в моем городе Н требуеться такая вот сумма денег,
у меня есть опыт А в технологии Нет и к 20ХХ году я смогу матчиться на позицию Б что даст мне недостаточно денег, но в тоже время на бехнологии Ж2ИИ платят достаточную сумму, я тут не шарю, подскажите смогу ли я достигнуть и если да то как, иили что мне нужно подтянуть в области Нет что бы выйти на такой уровень что бы в моем городе Н получать нужную сумму...
тут хоть можно что-то обсуждать по делу, а у вас общий вопрос, который ничего кроме общих ответов и холивара породить не может...
Ну если много кода написано, то задача вполне может быть на миллионы долларов.
Одной поломки достаточно что бы ушел жирный клиент который платит все те же миллионы долларов (а то и десятки).
Що тоді порадите?
Оборот не значит прибыль, а вот риски и дороговизна тестирования может вам стоить дорого... и дело не в частоте ломания, а просто в том что именно для вас она может стать хуже и вам нужно потратить кучу денег что бы это проверить — см выше тестирование и еще кучу денег что бы исправить... потому что нет в жизни идеальных решений и те эвристики которые были изменены в новой БД что бы большое число юзеров сделать счасливыми, не гарантирует что вы попадете в их число...
При обороте таких денег, не думаю что перейти на новую, улучшеную версию СУБД будет дорого и безсмысленно. У меня нет подобного опыта работы. Скажите плиз, как часто ломается MSSQL?
Если ты пишешь свой любимый бложек — то ничего, если речь идет о системе обрабатывающей10-ки миллиардов долларов, то людям которые ее заказывают хочеться уверенности в завтрашнем дне, что если у них поломаеться оракл, то они смогут позвонить и починить его в разумные сроки.
Понимаете ли батенька, с такими темпами деградации этой страны скорее всего не станет в ближайшие 20 лет. Поэтому заморачиваться конкуренцией с индусами всерьез не стоит.
как много тем на ДОУ стартовало с вопросом, как более качествено имплементировать эту фичу? как может поднять перф или опустить память итд...,
а как много тем, что лучшее.Net 4 или J2EE? или PHP vs... и понеслась? где мысли о качестве кода?
как вы думаете, стоит ли соваться в конкурентную борьбу с таким противником, зачастую когда аргументом выступает рубль северно-американский? и к какому будущему это может привести лет через 10−20?
вы можете дописать что есть в Украине по каждому из этих пунктов:) и станет ясно
и есть один городок в глубине сибирских лесов который хорошо знают в России и наверное не плохо в Украине...
жила была одна группа там, студенческая... и задумали они пойти работать в ту компанию и практически всех взяли, после универа, многих без какого либо опыта работы програмистом, на не плохие деньги для той страны..., а в чем мораль сей басни? много студентов той группы были физики или математики... и голову они пудрили не тем как по больше модных фремворков узнать /*все равно средне статистического индуса тут не переплюнешь, а их количественно больше чем Украинцев и стартовые условия ниже при встроеном разговорном* английском*/, а изучая как раотают разные процессы, девайсы... то бишь напряшали свою голову к анализу, познанию мира, логике, к требованию точных и логических обьянений процессов /*а не у меня почему-то все работает, может вы что-то не так делаете*/
вот собственно и басни конец...
Ну видимо вы таки правы. Я не работал в больших компаниях с большими проектами. Видимо когда программист начинает хорошо понимать суть происходящего, то он становиться системным аналитиком.
Если не ошибаюсь, то те кто привязываются к анализу предметной области — это системные аналитики, а те кто реализовывают — программистами. Это два параллельных курса развития. Если я ошибаюсь, то скажите где именно?
Php — душа не лежить. А ось C/C++ — не бачу вакансій джуна в харкові.
А что особо мешает писать устаревший проект без поддержки?
И что это дает? Сейчас много софта поддерживается, который написан в1985-м году?
А шо нитак? У вас комплексы? Вас в детстве обижали ПХПешники?
А вообще, привязываться к языку программирования это совсем не круто, круто — привязываться к предметной области. Если ты знаешь С++ то ты code monkey. если ты знаешь какой-то технологический процесс и можешь его описать на ВижуалБейсике то ты мегагуру которому заплатят много-много денег.
Особенно пхп и вижуал басик доставляют.
ИМХО, для начинающего Java
php — был, есть и будет есть. Порог входа очень низкий, но стать профессионаломболее сложнаятребует больше времени на выход до уровня нормального джуна.сложнееменьше мотивация, ИМХО.C/C++ —были, есть и будут есть усегда. Порог вхождения, ИМХО, значительно выше.
На ближайшие несколько лет (надеюсь и на несколько десятков лет) наверно хватит топ5.
По моїм спостереженням більшість проектів на безкоштовних технологіях, мабуть замовники прагнуть економити на ліцензіях.
Люди, це вже холі вар якийсь) Просто хотілось знати, чи варта джава того, щоб її вчити, чи далі освоювати дотнет) Напевно приділю багато часу джаві. Чи є ще якісь альтернативи?
1.3 или 1.4. И шо?
В гугле забанили?
А на какой джаве писали 8 лет назад, 1 с чем там?
Конечно джава, на серьезных проэктах в серьезных компаниях выбирают java/oracle в 99% случаях! MS — это просто смешно! Вон некоторые конторы писали на sql server 2000, и что теперь, когда у него поддержка закончилась? Все переписывать? А у oracle — поддержка 25 лет! На чем писали фанаты MS 8 лет назад? На VB + COM/DCOM? А теперь все переучивать? А через пять лет опять все по кругу? C# — продукт одной компании, а java — это oracle, IBM, google, redhat и куча другого народу, так что выбор однозначен!
1. С него получают прибыли за единицу отработанного времени.
2. Жадности у его работодателя.
3. Насколько хорошо он умеет выбивать прибавки к зп.
Все. Все остальное это миф и фантастика. Знай ты хоть все разделы математики, геометрии, тригонометрии и будь ты хоть семь пядей во лбу — ЗП тебе будут платить согласно трем вышеназванным пунктам.
ПС. Если человек знает математику в пределах ее профессионального применения в промышленности, сомневаюсь, что у него останется время на освоение всей тонны фреймворков, паттернов, каталога рефакторингов, тонкостей его любимого ЯП и прочих так необходимых __программисту__ вещей.
Удалите этот коммент
Абезянки смогут делать то, что написано во второй части вашего коммента?
Абезяны на LIST и на F# и на.NET смогут писать, только вопрос: «Что они будут писать? ».
А как она может помешать? Программист со знанием математики + javaЕЕ или С# будет дороже стоить, чем простой кодер.
Для того что бы работать с языками функционального программирования, надо мозг и образование, а на php/java/c# —можно посадить и абезянок, если со спецами туго, в реалиях нашего «рынка» — это весомый плюс.
Для начала поставит мозг на место. Элементарно поможет оптимизировать запросы к БД (да и поможет разобраться с внутренностями), поможет писать более эффективные условия в операторах, поможет правильно писать многопоточный код, поможет в оценке эффективности и надежности системы (это встречается не так часто и, зачастую, не требует углубленного анализа)Математика — это НЕ только интегралы и ряды.
to mymuss
Судя по твоим постам, ты создаешь впечатление адекватного человека. Но эта фраза про математику немного непонятна.Поясни, пожалуйста, немного более раскрыто, как математика может помочь javaЕЕ или С# разработчику?
ну, а за С и C++ вообще не будем говорить, тут и так все ясно — есть вещи, которые со временем только вырастают в цене
2hellip
Похоже я не один тебя не понял. Прочитай еще раз свой исходный коммент.Почему ты необосновано советуешь Java и C#?
Сейчас и на С++ и Objective-C есть море вакансий.
Откуда такая увреность, что языки функционального программирования менее перспективны?
Подібні теми уже обговорювались, можете перешлянути відповіді і діскусії:
www.developers.org.ua/...orum/topic/1250
www.developers.org.ua/...forum/topic/463
Так все-таки, хотілося б знати, що перспективно взагалі? Чисто на ваш субєктивний погляд.
Повторюсь, інформації — мало. З людьми, які працюють над чимось реальним поспілкуватися — ніяк.
знав би прикуп — жив би в Сочі
Java и C#. Внимательнее прочитай формулировку исходного поста.
Гугл тут не нужен: -) Тут нужен моск. Весит пару килограммов, не больше.
Бази даних — там не треба переучуватись, якщо не помиляюсь
2hellip
А что тогда перспективно для замыкания на аутсорсе?
Куда дели мой комментарий про Лисп? Жалкие представители убогого императивного программирвоания! Сынок, не слушай их, а учи Лисп, в то время как они стайкой будут ютиться на курсах переквалификации, ты выйдешь с универа полон сил и скилов по Лиспу. Уже в ближайшие три-четыре года, мейнстрим будет с такой силой всасывать функциональщиков, что все эти жалкие формошлепы будут только рыдать.
м/б Python? правда, по моему мнение, после питона уже ни в C# ни в java кодить не получится =)
но, как правильно подсказывают камрады выше — тренировать голову не вредно ни в коем случае.
Учи Лисп, пока закончишь универ — жаберов и сишарперов давно к дельфиформошлеперам приравняют. Все деньги будут на Лиспе и Лиспепроизводных языках зашибать. Заодно и 40ка ядерные процы подоспеют, куда с радостью под реальную многопоточность Лисп и все функциональное программирование наконец и прикрутят.
Вообще, не вижу причин, почему бы студенту не изучить и то, и другое. Пока учишься, желательно вообще познакомиться со всеми популярными технологиями и языками — расширяет кругозор, дает более глубокое понимание профессии. На то она и учеба. А уже когда найдешь работу — начнешь закапываться в какую-то технологию поглубже.
Впринципи ты прав. Сегодня пишешь на одном завтра на другом. Сам за последние три года на чем только не писал: от Си# до Жабы, ЖабыМЕ, Баш скриптинга, чистого Си под никсы.
Так что топикстартер, трудно тебе сказать, скорее всего так не получится — одно что то выучил и на 20ть лет вперед можешь спокойно работать. Программист наверное одна из немногих профессий, где учиться и переучиваться наверное нужно чаще чем вообще где либо.
Лучше сохрани мозг в здравом и чистом состоянии, это главное.
Правильно!!!
Я считаю, что стоит углублятся в более глобальные вещи, такие как ООП, UML и паттерны проектирования.
Java, C# — это всего лишь инструменты, с которыми разобратся не есть проблемой, а инструменты постоянно меняются.
Главное чтоб мосК был тренированый: -).
Я как впервые устраивался на роботу, то тестовое задание делал на С#. Первый проект был на С++. Дальше опять на С#. 0.5 года назад меня взяли на работу iPhone программистом, это при том, что ни МакОС, ни Objective-C ни iPhone в глаза не видел ни разу.
Java жива только в тупых банках (груз поддержки написанного старья) и на Android. C# — в основном для проектов/людей с нетрадиционной ориентацией. Учи лучше Ruby, если хочешь делать большие/стоящие вещи.
А якщо не секрет — наскільки гірше? Чи легко знайти роботу?
дотнет освоить проще, но с зарплатами там хуже
Шарп знаю на, як мені здається, хорошому рівні. Добре знаю WinForms, трішки гірше WPF, добре працюю с БД через ADO (вправно розставляю біндінги::). Трішки знаю ASP WebForms + Entity Framework, добре MVC. На МVC навіть пофрілансив трішки (3 невеликі проекти на пару з товаришем дизайнером). Не знаю, практика це чи ні?
А що тоді?
Напевно скоріше за все web. Тобто якщо веб то джава?
З математикою проблем немаю. Але якщо маються на увазі супералгоритми — то тут я нуль. Крім діекстри нічого не писав.
А якщо думати в плані росту? Тобто через 3 роки безперервного програмування під.NET і вивчення всіх тонкощей, наприклад, асп і всього що з ним йде — що станеться? На що можна буде розраховувати?В джаві оріентуюсь погано, лише Spring під веб трішки помацав. Якщо я те ж саме буду робити зі спрінг? То де я буду через 3 роки?
Реально ні в кого запитати. Інформації нуль. Тільки сайти з вакансіями.
Мне кажется, что результат исчисляемый в $$$ у вас выйдет быстрее гораздо. Я думаю learning curve у.NET более пологая. Книг опять же больше. Библиотек — меньше. Помнить надо меньше. И есть MSDN.
А через год-два, если вопрос всё ещё будет стоять вы уже сами сможете на него ответить.
Совсем идеальным было бы упасть на хвост человеку который очень хороший прогаммист и учить то, что он любит. Если всё будет хорошо — он вас натаскает на язык в 4 раза быстрее, чем вы бы сами смогли.
А вот...й тебе. Пускай учится Гуглом пользоваться.
В такой постановке совершенно пофик. Ты скажи чем — бы хотел заниматься: Java это сейчас больше сервер, ну и для мобилок частично. Десктоп больше ваяется на шарпе.
И то, и другое не очень перспективно, если ты не хочешь замыкаться на аутсорсе. Сейчас придут eugene_n, qwerty_smerty, flyman и все подробно объяснят.