Посоветуйте язык программирования
Jan. 11th, 2015 02:41 pmЯ всю жизнь программировал только на бейсике, на разных его версиях. Так получилось. Когда писал кандидатскую, набралось очень много таблиц с данными (это были морфологические признаки морских ежей), и я задолбался обсчитывать их на калькуляторе. Поэтому быстренько освоил бейсик (тогда персональные компьютеры IBM только начали появляться, и к ним прилагался язык GW-Basic). Освоил - и сразу почувствовал себя человеком. С тех пор не переучивался, сейчас пишу все свои программки на VBA в MS Access. То есть в программировании я дилетант, но опытный. Программированием пользуюсь сейчас для имитационного моделирования эволюционных процессов в популяциях. Подумываю об одной новой модели, но понимаю, что на VBA она будет работать невыносимо медленно. Насколько я понимаю, программа, написанная почти на любом другом языке, компилируемом, будет работать в разы быстрее. Вопрос такой: какой из этих языков мне будет быстрее и проще всего освоить? Времени, сил и желания преодолевать трудности и вникать в программистские проблемы - не имеется. Мне бы этот язык просто скачать (можно купить, если не слишком дорого), освоить за пару-тройку дней - и вперед. Т.е. главное, чтобы он был максимально простым в освоении для того, кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее.
no subject
Date: 2015-01-12 05:38 pm (UTC)да =)
no subject
Date: 2015-01-12 05:40 pm (UTC)no subject
Date: 2015-01-12 06:31 pm (UTC)no subject
Date: 2015-01-12 06:32 pm (UTC)хотел бы взглянуть хоть на одного токаря со своим стилем изготовления детали... а ещё на инженера, который будет принимать работу.
no subject
Date: 2015-01-12 06:36 pm (UTC)no subject
Date: 2015-01-12 07:18 pm (UTC)no subject
Date: 2015-01-12 07:50 pm (UTC)Даже с соблюдением технологии можно работать на разных оборотах, можно подводить резец к детали плавно, можно резко, можно следить за рабочим местом, а можно оставлять засраным стружкой и маслом. А уж если говорить о нарушении технологии, то тут вообще богатое пространство для маневра. Например можно работать в режимах убийственных для станка, причем это никак не скажется на качестве детали. И от самой детали вовсе не требуется 100% точности, там есть допуски и посадки которые могут быть как в плюс так и в минус от номинального размера. И у одного токаря размеры будут все время уходит в плюс у дургого в минус, притом что формально и та и та деталь будут соответствовать норме.
А можно еще нажраться спиртом =)
no subject
Date: 2015-01-12 08:19 pm (UTC)Подводить резец на разных оборотах НЕЛЬЗЯ, так же нельзя подводить быстро или плавно.
Видать, вы видели как деревянные заготовки изготавливают в школе, да? :)
Что вы знаете о допусках, молодой человек? Наверное, думаете, там километры или сантиметры, на худой конец, да?
В общем, поищите нормального технолога. Он вам всё объяснит про ваши заблуждения.
no subject
Date: 2015-01-12 08:37 pm (UTC)Есть Scientific Word, который выглядит как Word, но он не вполне совместим с Latex, но как идея хорош.
no subject
Date: 2015-01-12 08:39 pm (UTC)придите в цех и посмотрите как работают реальные токари и фрезировщики. Заодно можете им рассказать про технологов, если они вас не пошлют конечно.
no subject
Date: 2015-01-12 08:46 pm (UTC)no subject
Date: 2015-01-12 08:50 pm (UTC)no subject
Date: 2015-01-12 08:52 pm (UTC)no subject
Date: 2015-01-12 09:37 pm (UTC)Интересны Pure Basic, Small Basic или Phyton. Про последний мне сказали, что он под мои задачи не подойдет, Pure понравился, Small еще не смотрел, как что работает в принципе понятно, но возможно вы мне подскажете вот что:
Мне из windows-приложения, которое я напишу, надо будет подключаться к Linux-системе и забирать нужные мне данные, например IP-адрес, который выводится командой ifconfig с кучей других данных где-то посередине и вот здесь, я не понимаю, как достать IP-адрес, отбросив ненужные и как отобразить их в программе в windows-среде, можете что-либо подсказать на уровне, как оно вообще работает?
P.S> личка у вас не работает...
no subject
Date: 2015-01-12 10:14 pm (UTC)Так, всю задачу и необязательно.
Но скорость может быть безнадежно потеряна ДО программирования.
1.На этапе физической постановки (тут профессионалы в прикладной области редко прокалываются)
2.На этапе математического представления (бывает).
3.На этапе дискретного представления (часто).
4.На этапе разработки алгоритма (чаще всего).
Выбор языка может влиять на быстродействие в пределах одного порядка и более-менее компенсируется более мощным компьютером, А ошибки на предыдущих этапах могут порождать увеличение объема вычислений на многие порядки.
Поэтому и вопросы не о конкретной задаче, а о методе и алгоритме. Без подробностей. Но просто "имитационное моделирование" - слишком мало.
Если просто расчет следующего поколения от предыдущего по заданным формулам, это одно - есть четкий такт моделирования. А если отслеживаются отдельные особи, то совсем другое - поток событий. Разные математические модели, разный принцип дискретизации, абсолютно разные алгоритмы и, соответственно, разные советы по выбору языка.
no subject
Date: 2015-01-12 10:41 pm (UTC)Чтобы коннектиться к удалённому компьютеру, вам всегда нужно знать имя (например, http://livejournal.com ) или же IP-адрес. Первый вариант предпочтительнее, так как IP-адрес может меняться.
Автоматически узнать IP-адрес у вас не получится из программы ipconfig или я что-то не так понял. Вы собираетесь соединяться с Gateway вашей сети или к другому внешнему серверу?
документация: http://www.purebasic.com/documentation/network/opennetworkconnection.html
а вообще, рекомендую скачать примеры: http://purearea.net/pb/CodeArchiv/CodeArchiv.html
и заглянуть в папку Internet&Co. Там очень много примеров как, например, скачать файл с веб-сервера (папка Download) или с FTP.
no subject
Date: 2015-01-13 03:59 am (UTC)no subject
Date: 2015-01-13 04:51 am (UTC)1. Python + numpy, как было сказано в самом первом комментарии. Python сам по себе язык интерпретируемый и медленный, но numpy - библиотека для быстрой работы с числами, исправляет этот недостаток.
2. VB.NET. Учитывая ваш предыдущий опыт. Хотя для .NET лучше всего, конечно, C#.
no subject
Date: 2015-01-13 04:57 am (UTC)Правка коллективом. Исходник TeX хранится в текстовом файле, а потому чрезвычайно удобно большие совместные тексты синхронизировать с помощью системы управления версиями: быстро и однозначно видно кто и что внёс, где и когда исправил.
Ну, а самая неприятная специфика Word проявляется, когда текст уже в редакции. Тексты в LaTeX, сконвертированные из Word приходится практически переписывать.
Ну, а если говорить об инструментарии, то лучше использовать что-то типа TeXmaker.
Под конец могу только посоветовать: отбросьте, наконец, костыли, научитесь ходить самостоятельно. Это действительно быстро и удобно ;)
no subject
Date: 2015-01-13 06:34 am (UTC)no subject
Date: 2015-01-13 07:19 am (UTC)eth0 Link encap:Ethernet HWaddr 00:80:9F:89:27:C8
inet addr:10.10.11.103 Bcast:10.10.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1778934 errors:0 dropped:0 overruns:0 frame:0
TX packets:576572 errors:3 dropped:0 overruns:3 carrier:3
collisions:0 txqueuelen:100
Interrupt:12
eth0:0 Link encap:Ethernet HWaddr 00:80:9F:89:27:C8
inet addr:10.10.11.102 Bcast:10.10.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:12
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1251256 errors:0 dropped:0 overruns:0 frame:0
TX packets:1251256 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
Из которой мне реально надо вывести в windows-клиенте только 10.10.11.103 и 10.10.11.102, вот отсюда возникает вопрос, какими средствами их получить.
no subject
Date: 2015-01-13 08:24 am (UTC)Если надо работать со строками - Перл на порядок лучше васика..
Если с числами - Паскаль.
Но в любом случае, будет как в анекдоте про рай для наркоманов - кто-то уже ЭТО написал.
no subject
Date: 2015-01-13 09:48 am (UTC)В идеале для скорости это С, либо С++(но без особого ООП), с использованием расчетов на GPU, благо с появлением C++AMP от Microsoft'a это стало возможно без каких либо дополнительных интеллектуальных вложений :). Но для человека знакомого с программированием по Васику это дело не 1, и даже не двух месяцев, т.е. вам явно не подходит, хотя если найдете студента/аспиранта с достаточным знанием языка это был бы оптимальный вариант.
Если рассматривать именно ваш случай(писать будете вы, и на изучение пару дней - неделя) тогда: C#. Язык простой, особенно в области математики, хотя и графический интерфейс прикрутите без особых сложностей. Математика довольно оптимизированная, простые средства распараллеливания, плюс наглядность синтаксиса. Писать лучше всего в VisualStudio, есть экспресс версия, бесплатная и с достаточным для вас функционалом. Плюс начиная с последней версии доступна CommunityEdition, та вообще полноценная среда с ограничениями только по коммерческому использованию.
Но в целом, я бы все же рекомендовал найти человека знающего язык, пусть и со стороны, тем более я уверен тема была бы многим интересна, я бы и сам с удовольствием чего нибудь такого понаписал. :)
no subject
Date: 2015-01-13 09:50 am (UTC)no subject
Date: 2015-01-13 10:07 am (UTC)Но ключевое слово тут _простых_.
Потому что наглядность имеющаяся и кажущаяся простота откровенно вредят при написании чуть более сложных структурированных текстов.