LINUX.ORG.RU

Какой язык выбрать из Java, C++, C#, Kotlin?

 , , ,


1

5

Всем привет! Я решил изучать программирование и посмотрел видео о языках. Мне понравились 4 языка: Java, C#, C++, Kotlin. C++ потому что он работает на уровне железа и на нём можно писать интересные и сложные штуки; Java потому что на нём можно писать банковские приложения и у него больше всего вакансий; C# потому что он похож на Java, но намного проще; Kotlin потому что если знаешь Java, то знаешь и Kotlin, и на нём можно писать под мобильные устройства. Что бы вы посоветовали выбрать?

Перемещено hobbit из general

Ответ на: комментарий от mdilink

повторение предок учения:

Брукшир,Брилов - Компьютерные науки

ибо

ты ща судя по таблице хабилитации https://en.wikipedia.org/wiki/Sophomore в https://en.wikipedia.org/wiki/Community_colleges_in_the_United_States#Socioec...

поэтому 13 издание на русска

Computer Science.AN OVERVIEW 13th Edition

J. Glenn Brookshear (Author Emeritus}

Dennis Brylow Marquette University

Pearson Education, lnc.

тебе как раз - принимая уже тобой достигнутую квалификации в твоём колеже|технаре... за 1ый год общения с пирами и препами

qulinxao3 ★★
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от anonymous

dlang

есть литература уровня «Я решил изучать программирование»?

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

unDEFER ★★★★★
()
Последнее исправление: unDEFER (всего исправлений: 1)
Ответ на: комментарий от hobbit

На одном ищ форумов обсуждали «Нарисовать лягушку которая прыгает по экрану в Pascal ABC».

Возьми листок бумаги в клетку.
Линиями нарисуй свою лягушку,
по клеточкам посчитай координтаы и методами.
MoveTo, LineTo рисуй ее.

А я рисовать не умею =)

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

Когда начинал изучать OpenGL, то первый учебный код был таков.

Перемещаем мышкой или клавишами крутящийся куб и в каждой плоскости его была размещена какая-либо фотография.
Весьма прикольно.

О чём пост?

«Что тут думать? Прыгать надо».
Теория без практики как известно …

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

Если я понял, речь идёт об этом: https://dlang.org/

Есть ли смысл советовать изучать язык, который вообще не взлетел?

При всех его теоретических достоинствах/недостатках, вероятность встретить этот язык где-либо на работе стремится к нулю.

Также ни разу не видел и не слышал, чтобы кто-то разрабатывал на нём «just for fun». Возможно, 10-15 лет назад, да.

Сейчас, если кто-то хочет быть не как все, то пишет на zig, nim, или ещё какой-нибудь экзотике.

Упоминаний именно этого названия, D, не встречал уже несколько лет.

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

Да об этом.

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

Лично я всё своё «just for fun» пишу исключительно на Ди.

Возможно вы не найдёте работу именно на нём, но в качестве освоения основных концепций программирования (а они в большинстве своём плюс-минус одни и те же во всех языках) и набора опыта - Ди подходит отлично.

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

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

Да нет особо предвзятого отношения. Сейчас Go на взлёте, куча вакансий. Автоматический сборщик мусора.

На Java и C# куча энтерпрайз легаси написана, тоже со сборщиком мусора.

Возможно вы не найдёте работу именно на нём, но в качестве освоения основных концепций программирования (а они в большинстве своём плюс-минус одни и те же во всех языках) и набора опыта - Ди подходит отлично.

При поиске работы сейчас приходится проходить по 8-12 интервью, где из тебя душу вынимают, и требуется знать основной язык досконально со всеми идиомами, всеми закоулками, всеми подводными камнями. Говорить: «Да я на любом языке смогу написать» - не прокатит, сольют после 5-го собеса.

Так что… Даже just for fun лучше писать на том, на чём планируешь работать.

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

Лично я всё своё «just for fun» пишу исключительно на Ди.

Обобщим посты

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

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

При поиске работы сейчас приходится проходить по 8-12 интервью, где из тебя душу вынимают

Не знаю я таких ни разу не видел. Видимо сливался сразу на первом интервью, не зная сколько там ещё впереди этапов :-))

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

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

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

Ну, если человек хочет сейчас попасть на работу в хорошую, большую, известную компанию, то ему придётся пройти пытку из 8-10 собесов.

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

И эта ситуация имеет тенденцию ухудшаться. Если раньше было 1-3 собеса, потом их стало 5, потом стало 8, самые большие числа, которые я видел - около 12. Сам лично в прошлом году проходил где-то 10 в одну компанию, после которых мне отказали, без какого-либо внятного фидбека (кроме того, что на одном из первых двух, из трёх задач я не успел в положенное время решить одну).

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

Ностальжи.

Как-то во времена 1С 7.7 пришёл в компанию в которой она использовалась.
На все вопросы ответил с учётом возможностей предоставляемых 1cpp и formex.
Не приняли.
Они просто не знали ничего об этих внешних компонентах.

Другой пример.

Устроился в государственное предприятие на котором нужно было перевести проект на Borland Си и firebird в 1С 7.7.
«Спец» содрал с предприятия большие деньги.

Практически заплатили ему за мыльный пузырь.
Половину полей из таблиц Firebird не использовал, ни одного реального отчёта, …

Что первым делом сделал?

Разработал декомпилятор бинаоныз TSQL скриптов Firebird в исходный код.

«Вы же понимаете как в таких условиях было легко работать».
Как говорил «папа» из фильма «Мы из джаза».

Вот такая реаль в жизни.
Многие лишь щёки надувать могут (это о всяких задачах предлагаемых на собеседованиях).

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

перевести проект на Borland Си и firebird в 1С 7.7

Если это делалось с целью импортозамещения – можно было перевести на C++ и Qt, и даже Firebird можно было не выбрасывать (на крайняк заменить на PostgreSQL), вместо того, чтобы на иглу 1С людей подсаживать. Всё это кроссплатформенное и даже до сертифицируемого состояния, если надо, можно довести. Впрочем, если работодатель сам поставил условие про 1С – его деньги, ему виднее.

Разработал декомпилятор бинаоныз TSQL скриптов Firebird в исходный код.

«бинаоныз» – это «бинарных», как я понимаю? А вот это годно, одобряю. Как я понимаю, декомпилятор по итогам работы тоже в собственность работодателя перешёл, или?..

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

Впрочем, если работодатель сам поставил условие про 1С – его деньги, ему виднее.

Именно так и было.
Четно признаюсь.
Ныне разработал crt аналогичный, используемому в 1С 8.x: строки, дата, дата с ременем, деревья, индексируемые таблицы, списки, … на базе своего core.
Теперь вот веду разработку Хринилища данных.
В этой штуковине программист может задать ахритектуру объектов как в памяти так и на диске.
Проще говоря это - колондайк для программистов.
И самое главное - код обеспечивающий работу с объектами позволяет
производить динамическую работу с ними и никак не прибит гвоздями к коду проекта.

Чем поможет программистам?
Не создавать 1001 велосипедов «сидя в гараже».

И это вовсе не а-ля 1С … (вообщем-то «на лету» динамически позволяет создать SQLite любого типа сложности).

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

… вообщем-то «на лету» динамически позволяет создать SQLite любого типа сложности

Только вот в отличии от SQLite, можно использовать не одни лишь таблицы, а деревья, списки, … (любой сложности вложенности).
Весьма удобно!

После этого по всей видимости придётся провести рефакторинг core.
Например будет использовано хранилище системных данных: локаль, …
Скорее всего в API core просто будет добавлена новая функциональность.
Проект кроссплатформен и минимально использует API ОС.
Свои подсистемы управления памятью, …

М-да, а ребята за 42 млн стругают текстовый редактор.
В жизни всё обычно так и бывает …

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

Только вот в отличии от SQLite, можно использовать не одни лишь таблицы, а деревья, списки, … (любой сложности вложенности). Весьма удобно!

Судя по описываемому, ты пилишь что-то, что уже не раз было изобретено до тебя. Но по каким-то причинам не взлетело. Или взлетело, но ты переизобретаешь из-за NIH синдрома.

Только взлетевшее уже подробно документировано, с кучей примеров кода, с фидбеком от пользователей. А твоё, скорее всего, никак не документировано (писать код, интереснее, чем документацию), с нулём или почти нулём примеров. Судя по тому, что не даешь ссылок, фидбек от предполагаемых пользователей тоже не учитывается.

Свои подсистемы управления памятью, …

Десятки тысяч самых квалифицированных людей на планете десятилетиями пилили системы управления памятью. У них был доступ к статистике сотен миллионов систем, у них был опыт отладки, профилирования и тюнинга для самых разных ситуаций.

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

М-да, а ребята за 42 млн стругают текстовый редактор.

Ну это очевидный распил. Печатный станок печатает деньги. Но просто так раздавать их нужным пацанам нельзя - охлос взбунтуется и скажет: «Почему не нам?!»

Не задумывался никогда, почему «культура» «стартапов» не возникла ни в одной другой стране, кроме той, которая печатает мировую резервную валюту?.. И не возникнет.

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

Десятки тысяч самых квалифицированных людей на планете > > >десятилетиями пилили системы управления памятью. У них был доступ >к статистике сотен миллионов систем, у них был опыт отладки, >профилирования и тюнинга для самых разных ситуаций.

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

А никак.
Эту подсистему использует лишь core API.
Позвлояет весьма эффективно работать динамическим объектам.
В частности используется в подсистеме управления динамическими переменными.
Просто обеспечивает эффективное управлдение памятью подсистемам core.

Что касаемо в целом проекта, то никаких 10000 подобных проектов не встречал.
Обычно все СУБД имеют код, который обеспечивает работу объектов и этот код является неотъемлемой частьювсего проекта.
В этом проекте по другому.
Программист определяет архитектуру объектов в памяти и на диске, а core позволит с ней работать.
Весьма большая разница.

К примеру создаём метаданные для форматов данных Office Microsoft и core обеспечивает возможность работы с этими данными. Это не голословно сказано, а реально опробировано.
Одна из функций позволяет на основании сотен xml создать метаданные для core.
И после этого можем с ними работать.

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

Не задумывался никогда, почему «культура» «стартапов» не возникла ни в одной другой стране, кроме той, которая печатает мировую резервную валюту?.. И не возникнет.

Нет.

Шутка.

Меня деньги интересуют конечно, но лишь в количестве возможности «сжарить яичницу с помидорами» ….

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

C++ MFC Qt приложение с Firebird даже звучит пугающе и безнадежно, кто захочет такое поддерживать кроме 40+ профессионалов Delphi? Вместо реализации логики придется решать такие вопросы. Нормальный аналог это создание 1С-подобной системы, то есть /превращение во Владимира/. А так это сравнение игры газопровода с открытым способом разведения огня трением.

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

Под 10,000 проектов, я имел в виду системы управления памятью. И даже не проектов, а разработчиков.

Под проектами я имел в виду, что различные СУБД, объектные и с персистентностью содержимого ОЗУ на диск, разрабатывались многократно различными людьми. На разных языках программирования, под разные ОС.

Один из лично мне известных примеров, который работал, и был популярен в узких кругах - ZODB - объектная СУБД с прозрачной персистентностью на диске. В начале 2000-х проекты на её основе были довольно популярны, где-то с 2010-х всё начало тихонько угасать, причины мне понятны лишь отчасти.

Но я знаю и другие похожие проекты, на других языках, по другому устроенные.

В общем, подходов к снаряду было сделано сообществом много. Но не выстрелило до сих пор.

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

Но я знаю и другие похожие проекты, на других языках, по другому устроенные.

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

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

Свои подсистемы управления памятью, …

Десятки тысяч самых квалифицированных людей на планете десятилетиями пилили системы управления памятью.

Правда? Где то существует должность «разработчик malloc/free», которая занята более 10 лет подряд? А почему тогда почти в каждом проекте своя система управления памятью заново реализованна полностью или частично?

Если речь про БД, то PostgreSQL обсуждается в соседнем треде, это старый проект с кучей глобального состояния, и скриптами на Perl для реализации полиморфизма через кодогенерацию, неужели ты думаешь что там все эффективно на пределе, и нету места улучшению?

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

А так это сравнение игры газопровода с открытым способом разведения огня трением.

За это в основном деньги и платят.
Руководителям предприятий ведь нужен результат.
А как там он будет достигнут …
В чём-то они и правы.

anonymous
()

прикольно бы было писать движки, драйвера

Ух, амбициозно. Но, для движков нужно больше знать как работает компьютерная графика, и как работать с графической библиотекой, нежели с языком. Для драйверов будьте добры учить ASM, изучать работу ядра Linux и как под него писать модули.

Что бы вы посоветовали выбрать?

Я бы посоветовал начать с C#, этот язык проще, чем C++ и Java и больше подойдёт для десктопа, в отличие от Kotlin. Когда вкатишься в основы C# и ООП, можешь попробовать Java. В С++ меньший уровень абстракции, чем в остальных языках. Для работы с плюсами не помешало бы знать как работает память компьютера, т. к. в плюсах существует такая вещь как указатели и без этого знания тебе будет очень трудно понять их принцип работы. В Си вообще иногда приходится вручную выделять память под что-либо. Такие дела.

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

Есть ли смысл советовать изучать язык, который вообще не взлетел?

Причины взлета/невзлета ЯП могут быть весьма субьективны. Так что все зависит от целей - может быть просто интересно че там накуржопили.

Даже вот лисп, когда бы был популярен а потом помер. Даже его главный сторонник на ЛОР, @lovesan, истратил все свои скудные когнитивные ресурсы на просмотр научпоповских подкастов и в итоге деградировал настолько, что был вынужден перейти на C# - надо же ему чем то оплачивать доширак и интернет…

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

Правда? Где то существует должность «разработчик malloc/free», которая занята более 10 лет подряд? А почему тогда почти в каждом проекте своя система управления памятью заново реализованна полностью или частично?

Не в каждом проекте, а где-нибудь в 1% от всех существующих. Потому что действительно универсальное решение невозможно, всегда будут крайние случаи, которые лучше обрабатываются узкоспециализированными решениями.

Если речь про БД, то PostgreSQL обсуждается в соседнем треде, это старый проект с кучей глобального состояния, и скриптами на Perl для реализации полиморфизма через кодогенерацию, неужели ты думаешь что там все эффективно на пределе, и нету места улучшению?

Я совсем не это говорил. PostgreSQL хорош и улучшается, но я совсем не уверен, что нельзя сделать что-то на порядок лучшее. Пока что ни у кого не получалось.

Допустим, как сейчас идёт ИИ-хайп, 7 лет назад был blockchain-хайп, ещё раньше был NoSQL хайп. И тогда была куча статей, обсуждений, что сейчас PostgreSQL и остальные реляционные СУБД, похоронят. Однако, этого не случилось. Наоборот, многие NoSQL решения померли или стали очень нишевыми, а Postgres расцвел ещё сильнее.

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

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

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

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

Вот посмотрите на вселенную разных форматов данных например в игровой индустрии.
Это же просто «велосипедостроение» …

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

Я совсем не это говорил. PostgreSQL хорош и улучшается, но я совсем не уверен, что нельзя сделать что-то на порядок лучшее. Пока что ни у кого не получалось.

А что значит лучше? Я вот уверен что foobar2000 никогда не перейдет на PostgreSQL, потому что его разработчик считает что SQLite намного лучше.

Потому что действительно универсальное решение невозможно

А если оно невозможно, то какой смысл обращать внимание на работу этих 10_000 людей, которые делают управление памятью для своих непересекающихся проектов? Если «лучше» каждый проект определяет исходя из своих целей, то нужно ли учитывать другие проекты, которые могут быть далеки от желаемого?

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

Он делает движок хранения близкий к 1С, варианты использования тоже близкие к 1С, по моему вполне осязаемая цель.

Допустим, как сейчас идёт ИИ-хайп, 7 лет назад был blockchain-хайп, ещё раньше был NoSQL хайп. И тогда была куча статей, обсуждений, что сейчас PostgreSQL и остальные реляционные СУБД, похоронят.

Мне достаточно LAMP, и я не интересуюсь более новыми технологиями, но примерно в те годы Kafka появилась, и заняла свою нишу. Не обязательно же заменять PostgreSQL полностью, можно встать сбоку, или откусить у него куски с которыми он плохо справляется.

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

Вот и я не верю в то, что неизвестный аноним без ссылок, смог обогнать весь мир.

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

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

Он делает движок хранения близкий к 1С, варианты использования тоже близкие к 1С, по моему вполне осязаемая цель.

В какой-то мере это так.
Но в фирме 1С 50000 классов, которые обеспечивают её функционирование, а здесь ни одного.
Совершенно иной подход в разработке.
Да и цели проекта вовсе не такие.

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

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

Kafka - это совершенно другая технология, с совершенно другими целями и задачами.

То, что в Kafka теоретически можно хранить данные или что в Postgres можно реализовывать простые очереди, не означает, что это взаимозаменяемые вещи, или что Kafka разрабатывалась как замена Postgres.

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

Все мое сообщение про Kafka и было про то что это инструмент для других задач, и не замена PostgreSQL, я же это прямо написал. Есть нерешенные проблемы и за пределами того с чем хорошо работает PostgreSQL, это главная мысль.

MOPKOBKA ★★★★★
()

C++ потому что он работает на уровне железа и на нём можно писать интересные и сложные штуки; Java потому что на нём можно писать банковские приложения и у него больше всего вакансий; C# потому что он похож на Java, но намного проще; Kotlin потому что если знаешь Java, то знаешь и Kotlin

Современный С++ работает на уровне надмозга, выбирать его нельзя :-) Java стремительно стареет, пока выучишь останутся только старые приклады в поддержку. Из С# vs Kotlin остаётся шарп, на нём можно писать разное. Шарп практичнее.

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

Современный С++ работает на уровне надмозга, …

Да нормальный лн пока ещё.
На нём писать код и а-ля Си и «мама я надмозг люблю».
«Надмозг» не использую по причине специфики, разрабатываемого core.
Да и в целом - «Где просто, там ангелов со ста. Где мудрено, там ни одного.».

anonymous
()

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

Из всего этого набора я бы выбрал джаву и вот почему:

  1. Работа в банках. То есть там, где есть деньги. Но есть стресс и правило 3 косяков;
  2. Просто остальное хуже: C# – это только под винду, которая в РФ скорее всего будет импортозамещаться. С++ – судя по собесам, очень любят штуки вида «вот набор символов в аргументах, что он означает?» Kotlin – все равно сначала надо знать java + ее фреймворки.
dicos ★★
()
Ответ на: комментарий от dicos

На 3 курсе лучше всего начать искать работу. Тогда у тебя к окончанию учебы ты будешь не просто учеником, а вполне себе джуном.

Из всего этого набора я бы выбрал джаву и вот почему:

Будет ли джава ещё популярным выбором к 5-му курсу… У меня есть обоснованные сомнения. Её популярность давно прошла свой пик. Людям не нравится Java, люди не хотят на ней писать добровольно. Это непривлекательный язык, квадратно-гнездовой.

Работа в банках. То есть там, где есть деньги. Но есть стресс и правило 3 косяков;

Если говорить про Россию, то количество банков постоянно сокращается и будет сокращаться далее. Банки - ненужные посредники. С введением цифрового рубля, их функция становится практически ненужной.

Ну и кстати, в российских банках, помимо Java используется C#.

Chiffchaff
()

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

От этого зависит какие библиотеки будут ему нужны, на каком железе работать должно будет, какая ОС

Я бы советовал C++, но где то он может быть не к месту, а где то Java, а где то C# бесполезен

Выбирать надо не язык, а платформу и ее библиотеки

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Chiffchaff

Людям не нравится Java, люди не хотят на ней писать добровольно.

Кому-то и нравится. Из приведенного списка это самый адекватный вариант. Тем более жаба это не язык, а платформа. Языки там самые разные, можно хелловорлд хоть на груви писать, почему нет. C++ это сразу билет в дурку, C# тоже сделали невменяемо монструозным. Зачем морочить голову этой сранью?

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

Тем более жаба это не язык, а платформа

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

Язык где код длиннее чем на COBOL!

COMPUTE d = 100 + (a + b) / c * 2;

VS

BigDecimal d = a.add(b).divide(c).multiply(new BigDecimal(2)).add(new BigDecimal(100));
01 customer-address. 
  05 customer-street-number   pic 9(7). 
  05 customer-street-name     pic x(30). 
  05 customer-apt-num         pic 9(3).

VS

public final class CustomerAddress {
  private Integer customerStreetNumber;
  private String customerStreetName;
  private Integer customerAptNum;

  public Integer getCustomerStreetNumber() {
    return customerStreetNumber;
  }

  public String getCustomerStreetName() {
    return customerStreetNumber;
  }

  public Integer getCustomerAptNum() {
    return customerStreetNumber;
  }

  public void setCustomerStreetNumber(Integer value) {
    customerStreetNumber = value;
  }

  public void setCustomerStreetName(String value) {
    customerStreetNumber = value;
  }

  public void setCustomerAptNum(Integer value) {
    customerStreetNumber = value;
  }
}
MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 7)
Ответ на: комментарий от Chiffchaff

ненене

вот наглядный пример

duckdb и sqlite3 ито ито теже яйца тока в профиль

однако утка трэйдоффит более дешёвую операпамять относительно латенси следующих хранилищь данных ну и «обьекты» размазаны по массивам полей

так то NIH имеет ту мелочь что при сборке своего билда опенсурса можно прошить свои констранты т.е. «просуперкомпилировать» в частности - что если не ошибится заведомо не ухудщит

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

Язык где код длиннее чем на COBOL!

Так её столманонеугодную жабку! Но если позволишь несколько замечений:

customerStreetNumber = value;

Так не пишет ни кто, пишут: this.customerStreetNumber = value;. А так же нужна валидация, которая подключается аннотациями навроде той что есть в jakarta ee, подключается ломбок и кода становится раза в два меньше. Даже если и нет, эти и другие необходимые методы класса генерит любая вменяемая ide.

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

BigDecimal

Сравнивать манипуляции с интами(?) и с числами с бесконечным количеством знаков некорректно.

Поэтому претензии твои к жабе мимо кассы.

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

Прелесть Явы в том что:

  • ты можешь написать так же как на коболе (с математическими операторами или прямым доступом к переменным)
  • можешь написать правильно (через функции, в том числе геттеры/сеттеры) и когда тебе действительно потребуется устанавливать customerStreetNumber в setCustomerStreetName 😁 ты сможешь это сделать специально а не случайно, добавив одну строчку кода а не вспоминая все места где ты читал переменную)
  • все обернутое геттерами/сеттерами легко оборачивается как рефлексией так и всякими мудреными фактори, притом чем мудренее оно логически тем больше профита от функций
  • главное в ключевом слово «правильно» - все примеры, внятные библиотеки и сама платформа написаны по такому принципу - т.е. разобраться как работает, дополнить или поменять чужое-мудреное - гораздо легче чем в скомканной лапше прыжков по кускам памяти

Короч вербузность надо вкурить чтоб полюбить - она очень полезна но Ява ее ни разу не требует - можно писать коротко и прямо (особенно если не планируется потом использовать это в крупных проектах)

rukez ★★★★★
()