Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java vs Python, Выбор языка для численного расчета 
:(
    Опции темы
foxis
Дата 22.1.2016, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



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

Задача стоит в численном расчете (полевой расчет) с использованием метода граничных элементов.

Какой язык для этого лучше подойдет ? Так сказать золотая середина.

До этого как вариант рассматривал fortran но там более менее нормальный компилятор 
от Intel, а он для винды проприетарный, на линукс (где он является бесплатным) я перейти
к сожалению не могу.

Также рассматривал С++, но здесь тоже безраздельно властвует проприетарная microsoft visual studio.
А мне нужна бесплатная среда. Есть конечно бесплатные среды типа eclipse, code blocks и т.п.
Но они либо глючат, подтормаживают, либо не хотят устанавливаться (запускаться).

Так что из бесплатных и более менее современных и хорошо документированных языков остается только 
python и java.
PM MAIL   Вверх
Lipetsk
Дата 22.1.2016, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.1.2009
Где: Липецк

Репутация: 2
Всего: 5



ставьте Visual Studio Express, он бесплатный
PM   Вверх
foxis
Дата 22.1.2016, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



Спасибо, Lipetsk, попробую Express поставить.
PM MAIL   Вверх
Фантом
Дата 22.1.2016, 14:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Уж простите, но более дурацкого вопроса я давно не видел. Вариантов на самом деле всего два (ну, с половиной): Fortran и C (половина - это C++). Среда Вам на самом деле не нужна, хорошего редактора с подсветкой синтаксиса достаточно. В качестве компиляторов можно использовать MinGW.
PM   Вверх
foxis
Дата 22.1.2016, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



Фантом, насчет фортрана на mingw это достаточно стара версия фортрана 90-50. 
Я бы хотел 2008 компилятор, или хотя бы 2003. Они для виновс (интеловский) являются проприетарными, к сожалению.

Если MVS будет нормально работать в бесплатном режиме, то С++ сгодится в принципе.

А так, я не стал бы так ортодоксально рассуждать насчет того что только 2,5 языка сгодятся. Достаточно много математических программ 
на Питоне и джава делается. Питон очень удобен для понимания текста программы, хоть и является интерпретируемым языком и быстродействием не блещет.
PM MAIL   Вверх
tzirechnoy
Дата 22.1.2016, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



1) Если привычен matlab -- берите matlab, действительно подходящий для этого язык.

Если matlab дорого и законность критична -- перейдите на octave, они его делают в общем похожым.

2) fortran можно брать только от совсем безысходности -- т.е. если ничего кроме фортрана не знаете. Ну, или если есть 100500 обязательных библиотек на фортране, к оторым только 100 строчек обвязки написать (если 500 строчек обвязки -- то уж лучшэ C взять). Это потому, что fortran -- труп.

3) Вы тут жаловались на eclipse, idea... А что, думаете, под жаву будет что-то лучшэ?
Да, это свойство всех интэгрированных сред -- они жрут довольно много ресурсов и имеют нетривиальные возможности сделать что-то не так. Ни MSVS ни все "среды" для питона от этого не избавлены.

Кстати, зачем вам вообще среда? Вроде большого количества унаследованного кода нет, чтобы его "рефакторить", каких-то сложных библиотек тожэ не должно быть. Тут и notepad++ сгодится. И это относится что к жабе, что к питону, что к си с mingw.

PS А что такое "метод граничных элементов"?

PM MAIL   Вверх
Фантом
Дата 22.1.2016, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Цитата(foxis @  22.1.2016,  17:36 Найти цитируемый пост)
Фантом, насчет фортрана на mingw это достаточно стара версия фортрана 90-50. 
Я бы хотел 2008 компилятор, или хотя бы 2003. Они для виновс (интеловский) являются проприетарными, к сожалению.

Зачем? gfortran, конечно, в полном объеме стандарты 2003 и 2008 не поддерживает, но какие конкретно неподдерживаемые возможности Вам необходимы? 

Цитата(foxis @  22.1.2016,  17:36 Найти цитируемый пост)

Если MVS будет нормально работать в бесплатном режиме, то С++ сгодится в принципе.
 Ну, как вариант - да. Правда, это будет медленнее и в смысле производительности кода, и в смысле затраченного на написание времени, но уже более-менее пристойно. 

Цитата(foxis @  22.1.2016,  17:36 Найти цитируемый пост)

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

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

Цитата(tzirechnoy @  22.1.2016,  18:09 Найти цитируемый пост)

2) fortran можно брать только от совсем безысходности -- т.е. если ничего кроме фортрана не знаете. Ну, или если есть 100500 обязательных библиотек на фортране, к оторым только 100 строчек обвязки написать (если 500 строчек обвязки -- то уж лучшэ C взять). Это потому, что fortran -- труп.

Цитата(tzirechnoy @  22.1.2016,  18:09 Найти цитируемый пост)

PS А что такое "метод граничных элементов"?

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


PM   Вверх
foxis
Дата 22.1.2016, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет













Цитата(tzirechnoy @ 22.1.2016,  17:09)

1) Если привычен matlab -- берите matlab, действительно подходящий для этого язык.

Если matlab дорого и законность критична -- перейдите на octave, они его делают в общем похожым.


matlab проприетарен поэтому он не подходит. Я из-за этого перешел на бесплатный scilab. Однако он тоже перестал удовлетворять моим требованиям, к сожалению.

На octave смысла нет переходить, он не сильно лучше того же scilab. Скорее всего там тоже есть ограничения в размере матрицы из-за нехватки стека как в scilab.
Ну и другие недостатки, например отсутствие ООП.

Цитата(tzirechnoy @ 22.1.2016,  17:09)

2) fortran можно брать только от совсем безысходности -- т.е. если ничего кроме фортрана не знаете. Ну, или если есть 100500 обязательных библиотек на фортране, к оторым только 100 строчек обвязки написать (если 500 строчек обвязки -- то уж лучшэ C взять). Это потому, что fortran -- труп.


 я бы ни стал так кардинально ставить крест на этом языке. На западе и у нас он все еще популярен особенно в академической среде. Например прочитайте что говорит о фортране Рыжиков Ю.И. в своей книге  "Современный Фортран". Он очень высокого мнения об этом языке.
Фортран это что-то вроде токарного станка, станок по сравнению с мобильным телефоном мало кому нужен. Ну если уж необходимость в нем появляется, то его ценность трудно переоценить.
Проблем в фортране его проприетарности (компилятор от интел).


Цитата(tzirechnoy @ 22.1.2016,  17:09)

3) Вы тут жаловались на eclipse, idea... А что, думаете, под жаву будет что-то лучшэ?
Да, это свойство всех интэгрированных сред -- они жрут довольно много ресурсов и имеют нетривиальные возможности сделать что-то не так. Ни MSVS ни все "среды" для питона от этого не избавлены.

Я работал в eclipse очень стабильная и удобная среда. Да возможно она долго загружается, зато все работает как часы. Ни все среды могут так работать, 
так например дискредитировал себя code blocks для с++. Который при коде примерно в 2 страницы начинал тормозить когда я начинал просматривать этот код.
Проблема ни в том что среда много жрет, а в том что она не стабильная.

Цитата(tzirechnoy @ 22.1.2016,  17:09)

Кстати, зачем вам вообще среда? Вроде большого количества унаследованного кода нет, чтобы его "рефакторить", каких-то сложных библиотек тожэ не должно быть. Тут и notepad++ сгодится. И это относится что к жабе, что к питону, что к си с mingw.

Среда - дело привычки. Привык я к eclipse, когда программировал на джаве. А рефакторинг хорошая вещь, иногда пригождается, еще одно подспорье искать себе именно среду (но не обязательно).

Цитата(tzirechnoy @ 22.1.2016,  17:09)


PS А что такое "метод граничных элементов"?


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

 

Это сообщение отредактировал(а) foxis - 22.1.2016, 23:52
PM MAIL   Вверх
foxis
Дата 23.1.2016, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



Цитата(Фантом @ 22.1.2016,  18:09)

Зачем? gfortran, конечно, в полном объеме стандарты 2003 и 2008 не поддерживает, но какие конкретно неподдерживаемые возможности Вам необходимы? 


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

Цитата(Фантом @ 22.1.2016,  18:09)

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


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

Но обстоятельства вынуждают видимо перейти на него.


Цитата(Фантом @ 22.1.2016,  18:09)

Знаете, в мире вообще большинство людей делают свою работу плохо. Это не значит, что им нужно подражать. 

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

Согласен с вами. В защиту Питона пользователи обычно приводят следующие аргументы: некоторые функции критичные по производительности можно написать на с++, можно вообще использовать 
Cython, который преобразует код Питона в сишный. Не знаю стоит ли им верить ?
Главное преимущество Питона по-моему это его понятность, а также схожесть с scilab. Т.е. обучиться ему можно достаточно быстро для начального старта.
PM MAIL   Вверх
Фантом
Дата 23.1.2016, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)

Во первых это быстродействие нового компилятора, судя по описанию
 
Это верно, но варианты, которые Вы рассматриваете, делают это возражение несущественным. Да, IFC обычно делает более производительный код, чем gfortran. Однако и gfortran по производительности кода намного обгоняет любую реализацию Java или Python.

Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)
а также параллельные вычисления.
 
Тут gfortran ничем не хуже. Последние версии даже coarray полноценно поддерживают.

Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)
Но распараллеливание - это в перспективе, когда основной код
будет готов и надо будет его шлифовать.

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

Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)

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

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

И, кстати, вполне возможен вариант, что пишет он de facto на C с небольшими добавками из библиотеки классов C++ (такое встречается весьма часто).


Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)

Согласен с вами. В защиту Питона пользователи обычно приводят следующие аргументы: некоторые функции критичные по производительности можно написать на с++, можно вообще использовать 
Cython, который преобразует код Питона в сишный. Не знаю стоит ли им верить ?

Верить - можно. Но фокус в том, что для вычислительного программирования критичной по производительности обычно оказывается большая часть функций и 99% нетривиального кода. В итоге попытка сделать хорошую вычислительную программу на Python превращает ее в этакого "железного дровосека", который номинально человек (сиречь программа на Python), но практически все его части заменены на что-то другое. Обычно подобная деятельность кончается тем, что в какой-то момент разработчик обнаруживает, что на Питоне у него написан десяток строчек, друг за другом вызывающих какой-то другой код, после чего Python выкидывается за ненадобностью.

Цитата(foxis @  23.1.2016,  01:32 Найти цитируемый пост)
Главное преимущество Питона по-моему это его понятность, а также схожесть с scilab. Т.е. обучиться ему можно достаточно быстро для начального старта. 

Нет смысла. MATLAB/SciLAB/Octave и т.п. используют язык, в очень большой степени схожий с Fortran 90/95 (поскольку исходная идея состояла как раз в своеобразном развитии Фортрана). Именно на последний проще перебраться, если есть опыт работы с такими пакетами. Кроме этого, у Python есть одно весьма неприятное свойство: у него действительно очень низкий порог вхождения, написать первые небольшие программы можно практически сразу же, но это куплено ценой куда больших сложностей при написании какого-то объемного кода. 
PM   Вверх
tzirechnoy
Дата 23.1.2016, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Цитата
он не сильно лучше того же scilab.


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

Цитата
там тоже есть ограничения в размере матрицы


Есть, но по факту на современном жэлезе различия будут невелики. Для квадратных плотных матриц у scilab -- 16384, у octave -- 32768, у свежэго матлаба и многих других языков программирования -- сколько влезет в память. Для 64k потребуется память 32GiB, и вряд ли у тебя сейчас есть большэ.

Цитата
другие недостатки, например отсутствие ООП.


Для числодробилки это, по факту, преимущество.

Цитата
Например прочитайте что говорит о фортране Рыжиков Ю.И. в своей книге  "Современный Фортран".


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

Цитата
Я работал в eclipse очень стабильная и удобная среда.


Так я не понял -- стабильная и удобная или тормозит и вообще непонятно что? Если стабильная и удобная, то вот в ней и пишыте, уж C++ с питоном оно поддержывает.

Добавлено через 2 минуты и 58 секунд
Цитата
Однако и gfortran по производительности кода намного обгоняет любую реализацию Java или Python.


По факту, написанное топикстартером на питоне решэние скорее всего будет быстрее написанного на си или фортране, хе-хе.
PM MAIL   Вверх
foxis
Дата 24.1.2016, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



Цитата(Фантом @ 23.1.2016,  11:59)

Это верно, но варианты, которые Вы рассматриваете, делают это возражение несущественным. Да, IFC обычно делает более производительный код, чем gfortran. Однако и gfortran по производительности кода намного обгоняет любую реализацию Java или Python.


Я конечно сам не пользовался GFrtran компилятором. Но где-то на форуме читал что он глюченый и тормозит, поэтому человек перейти именно на ителловский компилятор. 
Когда увидел это сообщение как-то расхотелось программировать на фортране.

Цитата(Фантом @ 23.1.2016,  11:59)

Тут gfortran ничем не хуже. Последние версии даже coarray полноценно поддерживают.


Это здорово, что есть возможность использования параллельных вычислений в gfortran. 
Тогда наверное стоит к нему присмотреться.

Цитата(Фантом @ 23.1.2016,  11:59)

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


У меня пока стоит двух ядерный  ПК и для него распараллеливать что-то мне кажется нет смысла, возможно потом, когда техника немного модернизируется 
займусь этим. А то что переделывать, это меня не сильно уже пугает. Я уже много раз переделывал, менял методы и даже языки программирования, так что это меня уже не пугает. smile 

Цитата(Фантом @ 23.1.2016,  11:59)

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

И, кстати, вполне возможен вариант, что пишет он de facto на C с небольшими добавками из библиотеки классов C++ (такое встречается весьма часто).


Нас как с универа учат этому С++, так все и на нем и пишут и математику, и графику и все остальное.

Цитата(Фантом @ 23.1.2016,  11:59)

Верить - можно. Но фокус в том, что для вычислительного программирования критичной по производительности обычно оказывается большая часть функций и 99% нетривиального кода. В итоге попытка сделать хорошую вычислительную программу на Python превращает ее в этакого "железного дровосека", который номинально человек (сиречь программа на Python), но практически все его части заменены на что-то другое. Обычно подобная деятельность кончается тем, что в какой-то момент разработчик обнаруживает, что на Питоне у него написан десяток строчек, друг за другом вызывающих какой-то другой код, после чего Python выкидывается за ненадобностью.


У меня кстати тоже были опасения, что в итоге все придется писать на СИ++ и от Питона там уже мало что останется. Тогда вроде как использовать Питон не имеет смысла для больших вычислительных задач.

Цитата(Фантом @ 23.1.2016,  11:59)

Нет смысла. MATLAB/SciLAB/Octave и т.п. используют язык, в очень большой степени схожий с Fortran 90/95 (поскольку исходная идея состояла как раз в своеобразном развитии Фортрана). Именно на последний проще перебраться, если есть опыт работы с такими пакетами. Кроме этого, у Python есть одно весьма неприятное свойство: у него действительно очень низкий порог вхождения, написать первые небольшие программы можно практически сразу же, но это куплено ценой куда больших сложностей при написании какого-то объемного кода.


Согласен с вавми scilab/Matlab действительно во многом схожи с Фортраном. Но scilab например для каких-то серъезных вещей ни всегда годиться. 
С ним есть риск что дойдя до определенной степени усложнения потребуются возможности, которых он (scilab) не имеет.

Почему же тогда Питон так популярен у работодателей, в научной среде если у него есть сложности при определенном объеме кода ?




PM MAIL   Вверх
foxis
Дата 24.1.2016, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.1.2016

Репутация: нет
Всего: нет



Цитата(tzirechnoy @ 23.1.2016,  15:24)

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


Ну синтаксис это дело вкуса мне кажется. У scilab и matlab тоже синтаксис очень даже удобный, особенно при работе с матрицами комплексными числами.

Цитата(tzirechnoy @ 23.1.2016,  15:24)

Есть, но по факту на современном жэлезе различия будут невелики. Для квадратных плотных матриц у scilab -- 16384, у octave -- 32768, у свежэго матлаба и многих других языков программирования -- сколько влезет в память. Для 64k потребуется память 32GiB, и вряд ли у тебя сейчас есть большэ.


Вот эти ограничения в памяти как раз порой сильно мешают. Потому что реальные задачи иногда требуют большего размера матриц.
Ни совсем понял 64k - это что ?
И  32GiB это что за память, оперативная или внешняя ?

Цитата(tzirechnoy @ 23.1.2016,  15:24)

Для числодробилки это, по факту, преимущество.


Иногда ООП бывает нужно. Наследование очень удобная вещь в ряде случаев.

Цитата(tzirechnoy @ 23.1.2016,  15:24)

Да, современный фортран -- это оксюморон.


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






PM MAIL   Вверх
tzirechnoy
Дата 24.1.2016, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Цитата
Вот эти ограничения в памяти как раз порой сильно мешают. 


Welcome to the real world, Neo.

Цитата
Ни совсем понял 64k - это что ?


Двумерная плотно заполненная квадратная матрица вещественных чисел двойной точности размера 64000 -- потребует 32 гигабайта памяти. 64000*64000*8/1000/1000/1000=32.

Цитата
это что за память, оперативная или внешняя ?


Оперативная. По факту, если матрица не влезает в оперативную -- то всё равно стоит сменить алгоритм на работающий с подматрицами.
И, на самом деле, это часто правильно и для размера L3 cache, но не так ярко выражэно.

Цитата
Наследование очень удобная вещь в ряде случаев.


Только не в числодробилке!
А generic functions -- это отдельная от ООП тема, которая действительно часто полезна, но в ООП-языках её можэт и не быть или быть, но неудобно сделана.

Цитата
Если работодателей в нашей стране предлагающих на нем программировать 


Работодатели как таковые -- действительно не показатель. Вон, на COBOL работодателей завались, однако язык дохлый. Да и само качество языка -- тожэ в общем для степени дохлости показатель вторичный (хотя для выбора, какой язык брать можэт и нет, а для дохлости -- да). Вон, тот жэ ABAP как язык не лучшэ COBOL, однако COBOL дохлый, а ABAP -- жывее всех жывых. Сворачивающееся сообщество -- вот скорее показатель.

Цитата
Почему же тогда Питон так популярен у работодателей, в научной среде если у него есть сложности при определенном объеме кода ?


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

Собственно, скорее всего твоя задача на питоне будет решэна быстрее, чем на C++ или фортран. А с некоторой долей вероятности она и работать будет быстрее. После этого можно долго псить на питон, но возникает резонный вопрос: а что ещё нужно?

PM MAIL   Вверх
Фантом
Дата 24.1.2016, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Цитата(foxis @  24.1.2016,  02:01 Найти цитируемый пост)

Я конечно сам не пользовался GFrtran компилятором. Но где-то на форуме читал что он глюченый и тормозит, поэтому человек перейти именно на ителловский компилятор. 
Когда увидел это сообщение как-то расхотелось программировать на фортране.

А попробуйте. То, что он "глюченый", лучше оставить на совести автора этого высказывания, а про "тормозит" я уже писал - он выдает более медленный, чем IFC, код, но тот же "медленный" код со свистом обгонит любой вариант на той же Java.
Цитата(foxis @  24.1.2016,  02:01 Найти цитируемый пост)

Нас как с универа учат этому С++, так все и на нем и пишут и математику, и графику и все остальное.

Именно. Раньше "все писали на Фортране", потом (в СССР/России) был период, когда для всего использовался Паскаль, потом - Си, потом - С++... А тем, что у каждого языка есть ниша разумного применения, мало кто интересуется.

Цитата(foxis @  24.1.2016,  02:01 Найти цитируемый пост)

Почему же тогда Питон так популярен у работодателей, в научной среде если у него есть сложности при определенном объеме кода ?

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

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

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Добро пожаловать в раздел "Другие языки" форума Vingrad!

Void
Void

Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)

  • Обязательно следуйте правилам Форума.
  • Пожалуйста, прочитайте и следуйте рекомендациям по работе в разделе и навигации по Форуму.
  • Для вставки текстов исходных кодов используйте подсветку синтаксиса из выплывающего списка Код в форме ответа. Если Ваш язык в списке не представлен, то используйте тег: [code=ваш_язык]код[/code], например, [code=ada]код[/code]. Если в будущем подсветка синтаксиса для указанного языка будет реализована, исходный код преобразится.
  • Помните, один вопрос - одна тема.

Приятного времяпрепровождения! С уважением, Void, kemiisto .

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие языки | Следующая тема »


 




[ Время генерации скрипта: 0.1704 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.