LINUX.ORG.RU
ФорумTalks

Очередного выбора тред


0

2

Хочу выучить какой нибудь язык программирования.
Главный критерий чтобы процесс программирования приносил удовольствие, а не чтобы приходилось бороться с языком и его нюансами (например, C++ - ну это с моей колокольни).
Ну и чтобы через год (допустим я за это время изучу основы и связанные технологии) с этим языком не остаться без работы.
На ум приходит PHP, но как-то он не внушает доверия.
Может быть Python? А может Java или C#? Они вроде популярны, а вот как на деле не знаю.

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

>> разные периоды и для разных задач используют разные языки

Но ведь всё равно какой-то один из них превалирует, разве нет?

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

> Но ведь всё равно какой-то один из них превалирует, разве нет?

В конкретный момент времени скорей всего какой-то превалирует. Хотя, тоже по разному бывает. У меня был период (примерно 2 года), когда я в течении одного дня писал сразу и на C++ и на Python и на XSLT и на JavaScript, и трудно было выделить на чём я писал больше. Сейчас я пишу одновременно на CL и на JavaScript и эта работа так тесно перепеленывается, что я не смогу выделить язык на котором пишу больше.

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

>> если заранее не продумать программу не проведёшь её декомпозицию => получишь комок грязи, в котором тяжело потом будет разобраться

Да вы, батенько, тупо тесты не писали.

Тесты для исправление ошибок дизайна (или отсуствия дизайна вообще) - это новый подход. Это даже круче TDD. Придумывай эффектную аббревиатуру и начинай писать книгу %) В качестве слогана предлагаю «Don't fucking design, just test».

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

> Тесты для исправление ошибок дизайна (или отсуствия дизайна вообще)

- это новый подход.


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

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

Тесты для исправление ошибок дизайна

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

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

>> Тесты для исправление ошибок дизайна (или отсуствия дизайна вообще) - это новый подход.

Да что вы такое говорите?

Ну там же написано. Какое слово непонятно?

Вообще обычно считается, что один из основных профито от тестов это более «правильный» дизайн

Еще раз ваш диалог:

pseudo-cat: продумывай и проектируй программу, прежде чем начинать ее писать, иначе фигня получится

archimag: не, надо экспериментировать с кодом в REPL

baverman: пиши тесты, и всё будет круто

Дейкстра, Вирт и Грис переворачиваются в гробах.

Ну да, с помощью достаточного количсества тестов и REPL из любого говна^Wкомка грязи можно сделать конфетку. Только, в качестве исходного материала лучше взять здравый и продуманный дизайн, а не комок грязи.

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

Удваиваю. Как к нему вообще можно серьёзно относится?

Аж косяки выдрал.

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

Не надо меня сплетать с архимагом. Я всего-лишь намекнул на условия образования не поддерживаемого комка грязи.

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

Кстати, а какие проблемы были с Basic? Что с ним не так?

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

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

>> Python — это Basic наших дней.

Удваиваю.

Это вы (по малолетству?) не писали на Бейсике. Да и на Питоне, вероятно, тоже.

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

> Я всего-лишь намекнул на условия образования не поддерживаемого комка грязи.

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

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

Python — это Basic наших дней.

Foxpro -> VB -> Delphi -> С#/WinForms & C++/Qt

Что-то не видать питона.

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

> отсуствие дизайна - это комок грязи сразу, и его придется

переписывать


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

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

но отсуствие дизайна - это комок грязи сразу, и его придется переписывать.

Очевидное — невероятное.

Я не адепт секты «тесты в семь раз большие кода, спасающие мир», если что. Это всего лишь вспомогательное средство и только. И я не считаю, что дизайн может являться следствием тестов. И я не лютый TDDшник, в конце концов. Не экстремист, короче.

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

егэ :) Я не понимаю, как тесты связаны с архитектурой, наоборот, чтобы писать тесты нужно знать архитектуру на уровне, на котором пишется тест, по-моему

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

Я не понимаю, как тесты связаны с архитектурой

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

чтобы писать тесты нужно знать архитектуру на уровне, на котором пишется тест, по-моему

Именно, я обратного и не утверждал.

baverman ★★★
()
Ответ на: комментарий от pseudo-cat

> чтобы писать тесты нужно знать архитектуру

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

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

эти тесты есть использование API программы на топлевеле?

pseudo-cat ★★★
()

Если бы не про работу, то J, благо теперь его интерпретатор свободный.

А так, наверное Perl — мощный, гибкий, подходит и для развлечений в отлие от питонов

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

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

К Ruby у меня такое же отношение как к питону, ну может чуточку питон нравится больше. Проблема в том, что я не хочу в RoR, а большинство вакансий на руби именно рор.

profit_taker
() автор топика
Ответ на: комментарий от tailgunner

Для zx spectrum 48k писал. Ломал игрушки.

На питоне писал кое-что, пока не встала проблема портируемости на шиндовс. Костыль py2exe открыл мне глаза. С тех пор я пишу на c++qt.

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

Что с ним не так?

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

[lor mode on]

Что с ним не так?

Вы это серьёзно?
[lor mode off]

mi_estas
()

Ты хочешь стать Программистом или просто кодить за деньги? Одно другому не мешает, но основная мотивация какая?

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

Тогда выбирай то, что считаешь изящным и правильным решением. Чтобы ты не выбрал, если это не эзотерический язык just for lulz, то и денег на нём сможешь для себя заработать. А вообще в будущем не стоит себя ограничивать одним языком.

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

Да, кстати, тоже заметил что Qt это достаточно лампово.
А насчет языков я все же считаю, что нужно определится хотя бы с порядком изучения. Хотя бы для того чтобы более менее объективно уметь сравнивать языки и сферы их применения. Вот об этом выборе и речь.
Сейчас я подучиваю питон, написал скриптик, который брутит пассы, за что уже получил по лбу.
А дальше думаю проблема выбора встанет между C++/Java.

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

Я вот на работе пишу в основном на Perl и PHP, в свободное время оттягиваюсь за C++/Qt, иногда тыкаю палочкой в Python (было некоторое время с ним знакомство), Pascal/Delphi уже забываю, хотя всё-таки интересно сравнивать разные языки, даже разных весовых категорий. Так что порядок изучения не столь и важен.

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

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

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

profit_taker
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.