LINUX.ORG.RU

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

 , , ,


1

5

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

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

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

Ну на Scala все покороче будет:

val d: BigDecimal = (a + b) / c * BigDecimal(2) + BigDecimal(100)

final case class CustomerAddress(
  var customerStreetNumber: Int,
  var customerStreetName: String,
  var customerAptNum: Int
)

В Java уже Record-ы добавили BTW. Было бы неплохо, чтобы и дальше рутину убрали б. Но тут главное вовремя остановится, чтоб язык не сильно заумным стал.

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

Как стать хэкером. Эрик С. Рэймонд

Статья не теряет своей актуальности. Python, C, Perl и LISP - из этого списка я бы только Perl не рекомендовал (он только для ценителей). Вместо него как раз можно Java какую изучить. К Lisp в пару просится Haskell, чтобы повернуть мозги и увидеть еще один способ программирования.

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

https://youtu.be/qhzTawm3_6Y?t=1143 The Evolution of Programming | The Standup

Pascal -> C

+ python для быта

+(ba)sh/cmd для комп машинерии

пока студент рабкотай и учись : структуры (управления|данных|хранения данных

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

Использовать «var» тут не надо - сломаешь эквивалентность и хеш-код. Такой объект противопоказано будет помещать в контейнеры, особенно, в хеш-таблицы. Мы на собеседованиях всегда обсуждали этот момент (ну, я и многого другого любил спросить еще).

Кстати, топик-стартер, вот котлин похоже выглядит. Авторы котлина очень и очень многое взяли из Скалы. Но как я тебе уже пару раз писал выше (топик-стартеру), не знаю, какие есть учебники по котлину для новичков. А так, котлин прямо хорош (но я бы взял scala 3 для себя)

anonymous
()

Фиг знает.. на гошечке фигачить, растишке…

HTML сайта глянешь, там про «отсталый» utf-8 даже ещё не слышали. 1251 во весь рост)))


( Это я к тому, что бессмысленно полагаться на советы, изучай статистику.)

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

while (1){
	std::time_t result = std::time(nullptr);
	if("default"==input1){
		switch(input){
			case "full":set_full_time(&result);break;
			case "not_full":set_hms_time(&result);
		}
	}else if("tabletki"==input){
		set_timer_tab(&result_tab, std::stoi(input1), &count);
		if (count == 5)	break;
	}
	Sleep(1000);
	system("cls");
qulinxao3 ★★
()

Ruby изучай, где покупать мощностя/пространство под проект.. это потом.. как нибудь спросишь)))

3 Щас пока слушай советы! Ими же потом и осудишься, что идиот - нафига слушал?. Мбуахаха))))

Соц. инжэнэрию тоже подтяни, пригодится.

anonymous
()

Всем привет! Я решил изучать программирование

Знаете, программисты учатся всю жизнь и каждый день.
Такая это профессия.

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

Python, C, Perl и LISP - из этого списка я бы только Perl не рекомендовал (он только для ценителей).

Перл хорош тем, что там кишки просвечивают и хорошо видно как на самом деле работают динамические языки. Разница между ссылками и значениями, между compile time и run time, неприглядная сущность ООП. Вот это всё в питоне замаскировано сахаром. При этом перл достаточно высокоуровневый, и там не придется заниматься байтодрочерством. Ну и книга Ларри Уолла прекрасна. Perl Cookbook тоже классика жанра.

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

я все понял, вы крутые все знаете, но я так ничего и не выбрал((((

Предлагают в треде Java, C#, C++. Котлин не ругают, но и не предлагают.

Смотри с каким ЯП можно в твоем городе устроиться на стажировку/неполный рабочий день. Или бери любимый язык преподавателя.

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

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

ну если Python через

https://docs.python.org/3/tutorial/index.html (который для уже умеющих в «процедурное» именно как второй язык - достаточно быстро про id и прочие потроха )

т.е. если копать то у любого языка потроха видны

perl хорош тем что вынуждает быть аккуратным в заклинаниях

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

Так не пишет ни кто, пишут: this.customerStreetNumber = value

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

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

Сравнение очень корректное, в COBOL точная BCD арифметика произвольной длинны. В Java нету BCD арифметики, но BigDecimal справляется с этой задачей. По хорошему, во втором примере я должен был вместо Integer тоже BigDecimal поставить.

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

ты можешь написать так же как на коболе (с математическими операторами или прямым доступом к переменным)

Не могу, в Java операторы есть для Integer, Float, первый без точки, второй с потерей точности, а в COBOL как я уже написал, произвольная длинна BCD арифметики.

все обернутое геттерами/сеттерами легко оборачивается как рефлексией так и всякими мудреными фактори

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

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

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

Вообще если говорим про сеттеры геттеры, как так получается, что с одной стороны Java программисты говорят «ну сгенерируй просто каждый набор getter/setter в любой структуре, и потом обновляй его, не забывая при измении структуры» и это Ок, и при этом на защиту getter/setter они встают с позиции «ну не сгенерирует же тебе IDE getter/setter если у тебя переменная структуры меняется в разных местах по коду, а ты захотел добавить дополнительное поведение к этому» ???

Ну и к примеру, взял я через getCobol21c() объект JavaLanguage, и теперь сделал JavaLanguage.setName(«ya ne cobol»), помогли в таком случае getter/setter?

можно писать коротко и прямо

Невозможно, попробуй перепиши кратче чем в COBOL мои примеры.

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