LINUX.ORG.RU

C# или Java в 2025 году?

 ,


0

5

Всем привет! Учусь в колледже на 4 курсе. Подходит время писать диплом, встал вопрос о выборе инструмента (языка) для написания бэкенд-приложения с фронтендом на Vue. С фронтендом преподаватель согласен, что это JS и Vue, а с бэкендом мы никак не можем договориться.

Поначалу он говорил, чтобы я писал на Python. Я сказал, что не буду этого делать, он мне лично неприятен и какой-то надоедливый — он везде, из каждого утюга, о нем. Потом он, наверное, сжалился и разрешил писать на C#. К тому времени я втихаря начал учить от него Spring.

И когда он спросил, определился ли я с языком, и я сказал, что буду писать на Java, так как хочу на нем работать, в ответ он меня наругал. Сказал, что я ничего не понимаю и что лучше писать на шарпах. Это у меня вызвало странное чувство и непонимание.

Может, я правда что-то не понимаю? Или я глуп для всего этого? Почему лучше шарпы, а не джава? Причем он не старый дед с сединой, а молодой, типа до 35. Помогите, пожалуйста, я уже не понимаю, что делать. Нужно уже готовить тему диплома, а я даже ничего из фреймворков еще не смотрел.



Последнее исправление: pixelwx (всего исправлений: 1)

Удваиваю предыдущего оратора, пиши на том, что хочет препод.

Btw, а как ты потом работать собираешься? Тоже будешь рассказывать лиду, какие языки тебе лично неприятны? Считай это подготовкой ко взрослой жизни.

P.S. И джава и шарпы норм и пользуются спросом, ниши несколько разные

hippi90 ★★★★★
()

Почему лучше шарпы, а не джава? Причем он не старый дед с сединой, а молодой, типа до 35.

Скорее всего, твой преподаватель просто не знает Джаву и постеснялся тебе в этом признаться. Сейчас же голосовые помощники искусственного разума умеют переписывать исходный код с одного языка на другой? Если ты успеешь написать проект хоть в каком-то работоспособном состоянии для показа, то голосовой помощник переделает исходник с Джавы на Си-шарп за несколько минут. Покажешь два исходника, чтобы ты был воодушевлён проделанной работой и твой преподаватель остался доволен.

Дипломная работа это твой свободный проект и глупо делать его под принуждением. На работе за деньги ты сможешь этим заняться вдоволь. А пока есть свобода, так лучше делать так, как хочется, если ты уверен, что сделаешь вовремя.

Enthusiast ★★★★
()

Нужно уже готовить тему диплома, а я даже ничего из фреймворков еще не смотрел.

Как это связано друг с другом? Сначала определяется задача. Потом ищутся подходящие инструменты для решения.

По сабжу: так как мы на лоре, то сишарп оффтоп и исключается из рассмотрения. Питон тормоз. Остаётся джава. На джаве стандартный фреймворк spring framework

cobold ★★★★★
()
Ответ на: комментарий от ya-betmen

В реальности ты в таком сетапе шарпа не увидишь

Вот прям сейчас смотрю на такой сетап в реальности. Правда сбоку. Сам-то не пишу на нём.

Шарп забавный. И под линуксы почти нативно собирается, как выясняется.

Как по мне - одна беда (у тех которых вижу) - при любой задаче первое, что им приходит в голову «а где взять библиотеку». И ведь находят. Почти на каждый чих.

Когда-то анекдот был про льва и клетку. Как решают эту задачу программисты на разных языках. Анекдот кончался тем, что программисты на Дельфи ищут готовый компонент «посадить льва в клетку». Вот на Шарпе примерно такое же по внешнему впечатлению.

Toxo2 ★★★★★
()
Ответ на: комментарий от ya-betmen

это скорее от безысходности чем осознанно.

Да нет, похоже что осознано. Вся контора на Шарпе что-то ваяет. Разное. В том числе вполне околожелезное. Видимо чтоб два раза не вставать и мочь пользовать тех же программистов, перебрасывая их по проектам при необходимости - ещё и продукты в формате веб-сервисов на Шарпе пилят.

Toxo2 ★★★★★
()

Тема диплома какая? В задании явно указано, кто выбирает инструмент для работы? Обратись в деканат по данному вопросу.

Python сейчас актуален в основном в контексте AI и ML. Java - в контексте Android.

anonymous
()

Если бы ты писал какую-то зачётную работу, то я бы повторил оратора выше и предложил бы просто следовать ограничениям, выставленным преподом.

Но раз ты пишешь диплом, то, имхо, должен иметь право сам выбирать язык.

Сказал, что я ничего не понимаю и что лучше писать на шарпах.

Обосновал ли препод, чем лучше? Чесгря, связывать фронт на Vue.js с шарпом, джавой и питоном одинаково неинтересно.

Причем он не старый дед с сединой, а молодой, типа до 35.

Логично, старый дед как раз за Java топил бы из всего перечисленного.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

старый дед как раз за Java топил бы

Не старый, а дальновидный. У Java есть исходники, и её, теоретически, можно из них собрать.

Вот список необходимых для этого шагов:
https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst

А dotnet никак собрать нельзя, только подозрительными бинарниками от Microsoft. (да, у dotnet тоже есть исходники, но чем вы будете их компилировать? Вражескими программами, открывая путь атаки.)

Saakx
()
Последнее исправление: Saakx (всего исправлений: 2)

Тебе сейчас кажется, что диплом – это что-то важное, а, на самом деле, это просто очередная работа, которую нужно как угодно выполнить, лишь бы побыстрее отвязаться с минимальными затратами ресурсов.

Настоящее испытание – это когда ты будешь искать первую работу и пытаться на ней закрепиться.

Я бы сделал на Питоне и не трахал мозг.

MoldAndLimeHoney ★★
()
Ответ на: комментарий от MoldAndLimeHoney

Тебе сейчас кажется, что диплом – это что-то важное, а, на самом деле, это просто очередная работа, которую нужно как угодно выполнить, лишь бы побыстрее отвязаться с минимальными затратами ресурсов.

Там немного сложнее. Если человек собирается идти дальше по академическому пути, либо потом станет весь успешный, то на его дипломную работу будут смотреть - и в худшем случае его могут даже оспорить и отозвать. Конечно, выбор языка на это не повлияет, это я про важность диплома в целом.

Настоящее испытание – это когда ты будешь искать первую работу и пытаться на ней закрепиться.

Сейчас половина студентов после практики уже где-то работает ещё до завершения образования.

Bfgeshka ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Delphi

Ну не, это уже всё.

Pascal

Толком нет библиотек, сложно что-то путнее написать для дипломной работы.

Php

Уже бы укатил в закат на третьей феррари в автосалон, покупать четвёртую.

Bfgeshka ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Вот-вот. Остаться в живых должен только один? Нет, их всегда будут тысячи, пока не наступит всемирный коммунизм и госплан не назначит победителя капиталистических соревнований за монополизацию.

Saakx
()
Ответ на: комментарий от LightDiver

Наша задача - поддержать выбор топикстартера и выведать название ВУЗа, чтобы провести информационную компанию против его политики.

Я старался, как мог - 1, 2, и считаю, что выложился продуктивнее всех остальных в этой дискуссии.

Saakx
()
Ответ на: комментарий от Saakx

В ВУЗах с этим вообще беда лютая. Ему правильно посоветовали выше: пиши на том, что хочет препод. Без логики и рассуждений.

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

Я тогда тоже посоветовал не выпендриваться и писать на том, что требует препод.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Ему правильно посоветовали

Правда не истина. Своя правда, чужая правда. Мне понравился комментарий про то, что диплом - это собственный выбор. Как он собирается стать великим человеком, если не может такой выбор сделать сам?

Saakx
()
Ответ на: комментарий от LongLiveUbuntu

Мы и за dotnet можем поагитировать. Там лучше сделаны генерики, они встроены прямо в CLR, лучше сделаны ValueType (в Java есть Project Valhalla, но он ещё не готов). И в целом в языках на дотнете покруче проработаны вопросы взаимодействия с платформой. Как же чудесен PowerShell! в Java такого нет.

Но какой смысл в такой агитации?

Saakx
()
Ответ на: комментарий от LightDiver

разницы в выборе особо и нет?

Разница в выборе есть. Но ему правильный выбор делать уже поздно: «Нужно уже готовить тему диплома, а я даже ничего».
Остались только выборы из неправильных вариантов.

Saakx
()
Ответ на: комментарий от Saakx

Saakx, вот почитай и тогда скажи в чём моё суждение не правильно.

https://translated.turbopages.org/proxy_u/en-ru.ru.a1fc3c16-6916c86f-24db9639-74722d776562/https/www.independent.co.uk/news/business/news/microsoft-and-sun-end-their-bitter-feud-with-a-1-6bn-settlement-54422.html

Microsoft и Sun положили конец своей ожесточённой вражде, заключив мировое соглашение на сумму 1,6 млрд долларов

anonymous
()
Ответ на: комментарий от LightDiver

Для тебя есть разница на чем писать

Конечно. Я переживаю за будущее моей родины, за влияние страны в мире. Конечно есть разница, на чём писать. Лучше всего развивать суверенную технологию. У него наверняка была курсовая по теории компиляции, вот там он должен был успеть написать компилятор своего языка и писать диплом уже на нём.

Saakx
()
Ответ на: комментарий от Saakx

А суверенная технология это ява или сишарп? Я просто немного не в теме.

Если не брать высокоуровневые инструменты, запиленные и готовые к потреблениею, на базовом уровне все языки имеют одно и то же. Некоторые просто по-разному это оформляют, но суть то одна.

Вот если для реальной работы, разница уже есть в нюансах. А для учебы никакой.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

суверенная технология это ява или сишарп?

Я уже писал про это выше:
[1] у него нет хороших вариантов
[2] из этих двух плохих Java более суверенная ( https://3dnews.ru/1129130/basis-rbpo)

Для учебы никакой.

Философия - дело мясников (ц) Платон
Критерии могут быть разные, в частности в России есть государственный язык. И вы не поверите, этот язык - русский, с использованием кириллицы. Если бы он написал (на кириллице) компилятор с кириллического языка - это было бы тектоническим сдвигом, который определил бы всю его будущую жизнь и дал бы шансы на вывод России в лидеры ИТ. Так что есть разница и для учёбы.

Saakx
()
Последнее исправление: Saakx (всего исправлений: 2)
Ответ на: комментарий от Saakx

И вы не поверите, этот язык - русский, с использованием кириллицы. Если бы он написал компилятор с кириллического языка - это было бы тектоническим сдвигом, который определил бы всю его будущую жизнь и дал бы шансы на вывод России в лидеры ИТ.

Многие ЯП поддерживают использование записи на разных языках.
Например, если для программы на C++ выберите кодовую станицу CP1251, то можете смело использовать кирилоицу.
Ограничение лишь в использрвании ключевых слов.
Что касаемо технологий создаваемых в России, то с вами согласен, но в этом вопросе нужна не революция, а эволюция.

anonymous
()

Если не писать на неприятных языках, то не будешь понимать в чем крутость приятных. И выбор языка зависит от компании/области, сеньор потому и сеньор, что может писать на любом языке. Выбирай что хочешь.

stave ★★★★★
()
Ответ на: комментарий от anonymous

если для программы на C++ выберите кодовую станицу CP1251, то можете смело использовать кирилоицу.

Вообще начиная с C11 они (си и с++) умеют в Unicode в исходниках. Но смело использовать кириллицу не получится, потому что названия функций в библиотеках сами не переведутся. Поэтому не учите деда тому, в чём не разбираетесь.

лишь в использрвании ключевых слов.

Не только.

в этом вопросе нужна не революция, а эволюция.

Нужно разбираться с EFI и писать кирилические ассемблеры под разные архитектуры. Потом аналог llvm и компиляторы.

Это нужно будет сделать в любом случае, а значит, с этого нужно начать, чтобы всё остальное не переделывать по два раза.

Saakx
()
Ответ на: комментарий от LongLiveUbuntu

Так ты опробуешь всю инфраструктуру и сможешь в будущем легче работу найти по вкусу.

Это касаемо лишь единиц городов.
Большие города отличаются от небольших, как шарага от университета.

anonymous
()

Для начала повторю то, что писал уже неоднократно: если хочешь быть программистом – осознай, что одним языком программирования на всю жизнь ты не обойдёшься. Поверь мне как человеку, который 2**5=32 года занимается программированием за деньги и ещё до этого 8 лет в школе и вузе.

Поэтому в этом пункте просто расслабься.

в ответ он меня наругал. Сказал, что я ничего не понимаю и что лучше писать на шарпах

Ну если он сказал вот именно прямо так дословно – как препод он не очень хорошо выглядит. Но с другой стороны – он твой руководитель. То, что ты учил то, что он не требовал – это нормально, а вот то, что ты не учил то, что он требовал, ещё и надеясь поставить перед фактом – это плохо. (У меня в своё время подобный трюк прошёл, но во-первых, я тогда уже как программист имел определённую харизму, во-вторых, я период неопределённости прошёл за пару недель и до защиты диплома было ещё полгода, в третьих, руководитель был действительно нормальный, а в четвёртых и главных, мне до сих пор за это стыдно – человек ведь хотел и какие-то свои задачи решить так, как ему надо. Поэтому не повторяй моих ошибок.)

Вариант 1, основной: срочно учи, как это сделать на шарпе и делай. Как ты это сейчас успеешь – уже твоя проблема, хорошему студенту, как известно, для изучения китайского языка всегда не хватает ровно последней ночи. Джавой можешь заниматься параллельно :))) а лучше после диплома.

Вариант 2, требует социальных навыков: Ну можно ещё аккуратненько к нему подойти и сказать: «Я всё понимаю, но всё-таки можно разъяснить технически, чем Java плоха»? Есть ненулевая вероятность, что он уже остыл и либо согласится на Java, либо объяснит в чём дело. Если же (на самом деле маловероятно, адекватных преподов на самом деле больше, только с колокольни студента это не всегда видно) тебе не повезло и он начнёт нести пургу в стиле ЛОРовских троллей «ты ничего не понимаешь, это майкрософт, только они знают как делать» – мысленно плюнуть на убогого и сделать как он требует. То есть вернуться к варианту 1. Такие есть, да, но их сейчас не так много, я надеюсь, что твой не из этих.

Давай скажем прямо – у тебя проблема не в шарпе и джаве, у тебя проблема в том, что ты решение ключевого вопроса дотянул до последнего момента. Это классическая студенческо-дипломная проблема, не ты первый, не ты последний

P.S. C# и Java на самом деле весьма сильно похожи. Но дьявол, конечно, кроется в деталях, всякие там LINQ и др.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 8)

Шарпы санкционка под ось которую нигде нельзя, наличие костылей для припадочных запусков под другими осями не делает его лучше

Явушка - практически наступивший коммунизм и мимими работающий где хочешь на чем хочешь без костылей и припадков

rukez ★★★★★
()
Ответ на: комментарий от hobbit

Ну можно ещё аккуратненько к нему подойти и сказать: «Я всё понимаю, но всё-таки можно разъяснить технически, чем Java плоха»?

Так себе идея, никакого нормального диалога не получится, т.к. для многих людей выбор ЯП – это религиозный вопрос.

Гораздо лучше просто подойти и сказать: после учебы я планирую заниматься программированием на Java, т.к. больше подходящих для меня вакансий, поэтому уже сейчас бы хотел получать опыт программирования на этом ЯП.

Таким образом «начальник» понимает, что вопрос исключительно прагматический, никто не пытается оспорить его экспертизу, не покушается на его эго, возможно пойдет навстречу.

Подчинённый перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство :)

MoldAndLimeHoney ★★
()