Посоветуйте среду для Visual Basic

sashalazarev

Школьнице в школе преподают основы программирования, причём пишут они на VBA из Экселя. При этом задачи они решают не эксельные (типа переставить местами какие-то столбцы эекселевской таблицы и т.п. а чисто алгоритмические (найти все совершенные числа, не провосходящие миллиона). Ясно, что при использовании Экселя ресурсы компа на полную мощность использовать не получается.
Пожалуйста, посоветуйте (желательно, бесплатную) среду программирования, в которой синтаксис был бы максимально близок к VBA, но которая позволяла бы проге обращаться к возможно большему проценту процессорной мощности и оперативной памяти.
Спасибо!

yolki

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

yolki

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

yroslavasako

а почему бы не использовать гнутый бейсик и emacs?

Serab

qbasic еще жив? ^_^

Dasar

visual studio express 2013 windows desktop.
vb в нем есть, есть вариант студии с русским интерфейсом, бесплатная
http://www.visualstudio.com/ru-ru/downloads/download-visual-...

Kira

vb.net очень сильно отличается от vba. Топикстартеру разве что VB6 ставить или что-то типа MZ-Tools

sashalazarev

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

nawok

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

sashalazarev

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

PooH

Ясно, что при использовании Экселя ресурсы компа на полную мощность использовать не получается
в чем собственно проблема?

nawok

В тех алгоритмах, которые я ей показывал, основная проблема была не в памяти, а в быстродействии.
В упомянутых алгоритмах что-нибудь записывалось/считывалось из ячеек Экселя?
Если да, то обычно помогает сделать так:
Sub MyMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'Здесь поместить алгоритм...

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Здесь еще несколько советов по оптимизации.

sutulin

Что если создать файл с расширением .vbs и выполнить его?
У меня простое содержимое
 
MsgBox "hello world"

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

Serab

это vbscript, вообще другая хня

sutulin

Много отличий?

Serab

не разбираюсь в сортах. Но название другое :)

Serab

вот что-то есть, не читал http://msdn.microsoft.com/en-us/library/ms970436.aspx
Если устраивает, то да, можно в блокноте жечь.

sashalazarev

В упомянутых алгоритмах что-нибудь записывалось/считывалось из ячеек Экселя?
писалось в ячейки, но мало раз
диспетчер задач показывал, что комп загружен на 15%. это не порядок, мне кажется. или это из-за ебучей многоядерности так? можно ли как-то обойти эту проблему?

nata_chira

а тебе сколько надо?

sashalazarev

чем больше, тем лучше

durka82

комп загружен на 15%

Если это 4-х ядерник с HT - 13% на задачу без распараллеливания - это максимум.
А распараллеливанием в данном контексте вряд ли кто-то будет заниматься.

PooH

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

Serab

о, я так в школе писал чат на общей ФС, так и не смог рейс-кондишены побороть :crazy:

nata_chira

да, но зачем?

sashalazarev

да, но зачем?
чтобы считалось быстрее
Если это 4-х ядерник с HT - 13% на задачу без распараллеливания - это максимум.
ясно, спасибо
вопрос в том, сколько из этих 13% жрёт сам Эксель, а сколько - исполняемая программа. Подозреваю, что Эксель может учетверять количество операций легко. Или я не прав?
В общем, насколько я понимаю, основной совет - попробовать Visual Studio, верно?

Alena_08_11

Основной совет не иметь мозг и использовать excel. Ближайший аналог его vba будет ms visual studio 6.0 (древняя как говно мамонта и я сомневаюсь что в ней будет больше девелоперских вкусностей чем есть в excel (имеется в виду навигация по коду, рефакторинг, автодополнения и т.д). К тому же, школьнице наверняка придется сдавать свои работы, и если в школе принято прогать на excel vba - то не факт что смогут принять vb6-й проект.

sashalazarev

Ясно, спасибо.
Что ж, тогда буду показывать ей более быстрые алгоритмы. Тоже полезно.

durka82

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

durka82

вопрос в том, сколько из этих 13% жрёт сам Эксель, а сколько - исполняемая программа. Подозреваю, что Эксель может учетверять количество операций легко. Или я не прав?

Увеличивать может - но не распараллеливать.
Оставить комментарий
Имя или ник:
Комментарий: