LINUX.ORG.RU

ЯП и задачи


0

2

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

s/С/C++/

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

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

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

Не нужен тебе C, однозначно.

dmfd
()
Ответ на: комментарий от no-such-file

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

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

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

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

Если захочется ООП, то советую поглядеть на Moose и MooseX::Declare

no-such-file ★★★★★
()

Просто у руби батареек мало, поэтому и пришлось гемами обмазываться. В питоне с этим попроще.

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

А зачем мне осиливать голое цэ, если для моих задач оно не подходит? В цэ даже векторы складывать нельзя.

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

А зачем мне осиливать голое цэ, если для моих задач оно не подходит?

В цэ даже векторы складывать нельзя.

Чтобы немного поумнеть, например.

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

Удваиваю perl - просто и красиво.

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

Гмм.. а где я (или кто-то другой) заявил что руби лучше питона?
Не люблю срачей в моих темах, кои есть храм добра и взаимопонимания :)
Потому не нужно, будьте так добры.

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

Так никто и не говорит что тьі говорил. Наш лучшьій модер просто собирался? переходить на красньій

ZuBB ★★★★★
()

Местные знатоки знают, как у тикля с батарейками?

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

То прошли, то не дошли... Не важно, главное чтобы ЯП с задачей справился.

Spirit_of_Stallman, для подобного выбрал perl, как самый быстрый вариант для обучения(субъективно). Но в конечном итоге переписал на Си. Tk показался менее удобным чем GTK+, хоть и более простым

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

Я же не раз говорил, что от чистого цэ деградируют. На чистом цэ нельзя выражать абстрактные мысли.

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

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

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

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

Чистый цэ приучает думать о производительности и памяти

Не нужно, поскольку есть кресты, на которых можно писать как на чистом цэ.

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

Громоздкие решения - это как раз низкоуровневые языки. Попроще - высокоуровневые.

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

для подобного выбрал perl, как самый быстрый вариант для обучения(субъективно). Но в конечном итоге переписал на Си. Tk показался менее удобным чем GTK+, хоть и более простым

А какого рода были задачи для конечного продукта, если не секрет?

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

Не важно, главное чтобы ЯП с задачей справился.

любой_тьюринг-полный_язык.txt

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

Начиная с отступов и заканчивая дикой прожорливостью (да, память нынче дешевая, но меня исконно не устраивает вещь, что откушивает, скажем, 50 Мб памяти, с тем что всё остальное кушает, на эту же задачу, 1 Мб от силы).

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

Не нужно, поскольку есть кресты, на которых можно писать как на чистом цэ.

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

Громоздкие решения - это как раз низкоуровневые языки. Попроще - высокоуровневые.

Я имел в виду KISS. Опять-таки, многие почему-то используют std::vector там, где можно обойтись обычным массивом.

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

Начиная с отступов

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

и заканчивая дикой прожорливостью

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

http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=...

А по скорости он почти везде обгоняет руби.

eugeno ★★★★★
()

> Основное направление деятельности - админство и шаманство(костылестроение для мрачных и идиотских задач).

я бы посоветовал перл, но постоянно омолаживающийся лор этого не одобрит :)

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

что откушивает, скажем, 50 Мб памяти

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

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

Пока ты ручками на си не реализуешь вектор

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

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

А это и есть самая настоящая деградация.

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

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

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

А теперь представьте себе написанный таким образом четвёртый порядок схемы Рунге-Кутты

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

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

По мне так отступы — это плюс.

Ну вот в том то и дело, что смертельного в них ничего нет, но личное восприятие протестует и отвергает.

А по скорости он почти везде обгоняет руби.

Для моих задач скорость не имеет большого весу.
А вот при пользовании большего объёма информации и попутных действий — рубины откушивали ~1.5 Гб памяти, а питон превысил отметку в 3.5, от чего был отставлен в сторонку (тут набыдлокодить было трудно, для компрометации питона в данном взгляде, потому не думаю что дело было в том).

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

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

Вычислительный софт на цэ почти не пишут: всё, что я видел - фортран или кресты.

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

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

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

Это как если бы я сказал, что не знать о физических принципах работы транзисторов, работая за компьютером - настоящая деградация.

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

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

Ну вот в том то и дело, что смертельного в них ничего нет, но личное восприятие протестует и отвергает.

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

рубины откушивали ~1.5 Гб памяти

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

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

рубины откушивали ~1.5 Гб памяти, а питон превысил отметку в 3.5

Что ты делал, если не секрет?

тут набыдлокодить было трудно

Бгг.

но это конвейерные скипты

Столько может жрать только сортировка, но для этого есть специальная утилита.

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

клиент-сервер с логированием и перехватом ивентов от пользователя в GUI. Костыли, подпорки, прокладки и затычки, но по `time progname` Си в разы уделал перл, что и сыграло роль при выборе. И да, следуя по пути PHP->Perl->C сложнее учиться, нежели C->Whatever. Так как только после быстрого прочтения K&R я уже хоть маленько, но начал понимать код и на плюсах и на сишарпе и вообще. Но без perl вряд ли так быстро описал всю логику на си - вот такая оказия рекурсивная. Потрать пару часов на хеллоуворлды и сам подберешь - я именно так исключил питоны и все остальное из списка неотложных знаний. Перл показался красивым, а си мощным

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

Потому не нужно, будьте так добры.

Создал тему за языки и рассчитываешь на отсутствие троллинга? Здесь сейчас хардкор начнется, а с учетом того, что C++ уже упомянули, значит и БДСМ будет.

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

По мне так отступы — это плюс.

По клавиатуре с золотым пробелом каждому питонисту, и десяток пробелов запасных!

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

а в моём отступы автоматически ставятся.

школота — только вручную, только хардкор :]

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

А ты настолько суров, что не используешь отступы для читабельности?

Пишу в строчку, без пробелов, специально для последующих поколений :]

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

отступы для читабельности?

Читабельность читабельности рознь — есть такое понятие как вертикальная граница в 80-120 символов, и некоторые любители пробелов в нее не укладываются, хреначат на весь размер своего широкоформатника.

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