Universal_Student_IDE_RU

Universal Student IDE

для всех компиляторов.

Лучшая IDE в мире для всех вундеркиндов. Помоги ребёнку стать программистом!

"Я ищу крошечную и простую среду для компиляции небольших C / C++ приложений. Я ненавижу каждый раз открывать Visual Studio и создавать проекты для одного единственного файла с 50-ю строками кода. Непременное требование, поддержка STL. Иметь такое на рабочем столе, было бы здорово. Спасибо." - Новичок.

"Мечты сбываются!" - я.

Никто не знает, как много хороших и полезных программ никогда не было написано только потому, что их авторы стремились сделать их всеобъемлющими и идеальными. А ещё, потому, что очень много талантливых людей, на начальном этапе их предполагаемой карьеры, просто не разобрались с попавшейся им IDE. Которой у многих экзотических программ вообще нет. Как и у Microsoft Visual C++ Toolkit 2003, freecommandLinetools, GCC, DMC, LCC, TCC, EIFFEL и многих, многих других.

Не легко бывает осваивать новый компилятор или язык программирования. Особенно, если этот язык или компилятор первый.

Многочисленные IDE призваны облегчить основные трудности. Но часто, только создают дополнительные. Большинство IDE громоздки, сложны, заточены под определённый пакет и не перенастраиваются. Функционал их спорен и безусловно избыточен для новичка, пыхтящего над учебником. Кроме того, IDE воздвигает бетонную стену непонимания между исходником и конечной программой, делая неопытного пользователя слепым и зависимым от среды разработки.

Такой анахронизм времён MSDOS1, как выносящий мозг бесконечный секс с *.bat в стиле Microsoft Visual C++ Toolkit 2003, freecommandLinetools, GCC, DMC, LCC, TCC, EIFFEL и многих, многих других, к рассмотрению вообще не берём.

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

Впечатляет? Ничего лишнего! Портабельный! Работает из любой папки и с любого носителя. Отныне, вы можете не расставаться со своим любимым компилятором, даже когда купаетесь в море. Больше никаких *.bat.

Видео.

Создав простейшую First Step IDE, мне в значительной степени удалось преодолеть описанные выше трудности. Минимальный функциональный набор и деление программы на независимые друг от друга исполнительную и управляющие части, позволили сделать предлагаемый продукт исключительно простым, ясным, доступным и подходящим для любого компилятора, работающего с командной строкой, каковых большинство. Действительно универсальным.

Соблазнительное предложение для самых искушённых. Экономит время и клики:

First Step IDE подойдёт 99% людей, внезапно решивших научится программировать и не желающих вникать ни во что, кроме чистого кодирования и тонкостей реализации конкретного языка. Это наша будущая и действующая элита, будущие и действующие профессора, академики, мэйн стрим.

Тот же 1%, который всё-таки перешагнёт профессорско-академический уровень, рано или поздно, с досадой для себя обнаружит, что чистого консольного приложения ANSI C и оператора printf, как-то маловато, чтобы стать успешным.

Специально для них, для этих по-быстрому-хакеров и рубак, загодя добавлен ещё один пункт меню, позволяющий получить на выходе не только консоль, но и GUI, dll, lib, sys, bin, и вообще, всё, что сами пожелаете - make all. А так же, подарена возможность моментально отключать используемые по умолчанию компилятором библиотеки. Правда, для реализации этих возможностей, вам уже реально придется соображать, кое-что, самому.

Student IDE позволит полностью раскрыться большинству талантов и Великих Талантов. Но среди упомянутых выше хакеров и рубак, может оказаться 1%, пожелающий стать настоящими мастерами. Специально для них, добавлен Ассемблер, Дисассемблер, Отладка и всё, на что у меня хватило ума и фантазии.

Universal Student IDE уже вполне серьёзный инструмент. При всей своей простоте и универсальности,создан на вырост, с запасом. А непонятные кнопки можно пока и не нажимать. Вы начнёте ими пользоваться по мере вашего роста, в смысле знаний, умений и потребностей.

Рутина программирования ещё никогда не была так проста и понятна, как теперь. Сегодня, готовая программа находится от вас на расстоянии одного клика. Так же просты ассемблирование, дисассемблирование и отладка.

Досконально изучив компилятор с которым работаете, вы сами, сможете изменять управляющие файлы Universal Student IDE, достигая поразительных результатов, недоступных никому в других пакетах.

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

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

Теперь о главном. Universal Student IDE стоит $11 и приобретается только через Western Union. Фактически, это три управляющие программы упакованные в одной, с круто нарастающей функциональностью. При этом, очень простые. На все случаи студенческой жизни и на сколько у меня хватило фантазии, воображения и ума.

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

Никаких трай бифо бай не предусмотрено. Уверен, что приведенных выше картинок и видео вполне достаточно, чтобы вы могли в общем всё понять и оценить. Вы создаёте или выбираете файл my.c(pp). Далее, автоматически открывается выбранный вами или стандартный блокнот, в моём случае полностью настроенный Uniqway_Poetic, с указанным файлом.

В блокноте вы пишете текст программы, сохраняете его. Компилируете, запускаете. Если надо, исправляете ошибки, повторно сохраняете, компилируете, запускаете ещё раз.

В комплекте вы получаете предустановленные MSVC TOOL KIT 2003, TCC, MASM, HACKER DISASM, OLY DBG, Uniqway_Poetic и сразу сможете начать полноценно программировать самостоятельно, используя их все из одной управляющей программы. Разумеется, все перечисленные программы являются собственностью их авторов и плата за них не взимается. Каждая может быть удалена из пакета по первому писку.

Почему MSVC TOOL KIT 2003 и TCC? MSVC - лучший, а TCC - самый либеральный. То с чем LCC32 будет часами выносить вам мозг, ТСС даже не заметит. Но помните, ТСС не может корректно работать с ASM-вставками. Полёт фантазии, при использовании ТСС, придётся умерить.

Например, такую простую, в роде бы, программу TCC не прожуёт:

//RDTSCP cpuid

#include <stdio.h>

main()

{

unsigned int a;

b:

asm ( "cpuid" );

asm ( "rdtsc" );

asm ( "mov %eax, a" );

printf("%d\n", a);

goto b;

}

А такую, прожуёт. Но делать она будет совсем не то, на что вы надеялись:

//RDTSCP cpuid

#include <stdio.h>

unsigned int a;

main()

{

unsigned int a;

b:

asm ( "cpuid" );

asm ( "rdtsc" );

asm ( "mov %eax, a" );

printf("%d\n", a);

goto b;

}

MSVC и dmc правильно отработают оба варианта. Таким образом, инлайн ассемблер в TCC как бы есть, но одновременно его и нет. Ну, что это за ассемблер, который не видит локальных переменных? И написан TCC не вчера. Но в этом и заключается прелесть многих бесплатных программ. Снаружи всё блестит. А слегка копнёшь и сразу говнецо лезет. И ракеты на взлёте в Пасифик падают.

Платные компиляторы не лучше. Вот это вы получите за $800:

Ну и скажите, стоило ли тратить восемь сотен? Интересно, бывает ли что-нибудь ещё хуже?

Конечно да! Кто знает как слинковать такую простую программу в Virtual-C IDE? Папа римский? D. Pawelczak, A. Baumann не знают:

Ещё одна сказочка про лисицу и журавля - не солоно хлебавший.

Не далеко ушёл и повсеместно любимый всеми $80 PureBasic - надежда наций. PureBasic очень хорош. Заводится с полоборота.

Но даже в версии 5.44, менюшка "You & me" - за пределами мечтаний. MenuItem("You & me") - не работает. Совместимость компиляторов и программ, от версии к версии, не поддерживается. Получить объектный файл в PureBasic не возможно. Равно, как и драйвер. Ограниченная лицензия полной версии. Не стыковки встроенных функций требуют перехода в WINAPI. Хотя концепция PureBasic подразумевает как раз обратное.

Но зато, MSVC, без своих бесконечных библиотек, никогда не справится вот с такой простотой:

#include <stdio.h>

unsigned long long factorial(unsigned long long n)

{

if (n == 0) {

return 1;

} else {

return n * factorial(n - 1);

}

}

main()

{

printf("\n");

int n;

for (n = 0; n <= 16; n++) {

printf("%i! = %lld\n", n, factorial(n));

}

return 0;

}

с которой прекрасно справятся и TCC, и dmc.

LCC 4.2 до сих пор ничего не знает о stdcall.

На таком фоне, связка TCC + NASM + First Step Ide - прекрасная, универсальная и компактная альтернатива для WIN и LINUX одновременно. Особенно, если разобраться с TCC inline asm. Но это тема отдельной статьи с примерами, как вы понимаете.

Universal Student IDE безупречна. Но работать ей придётся на помойке MS WINDOWS. Поэтому, фраза "НИКАКИХ ГАРАНТИЙ" более, чем уместна. Например:

Set PATH=D:\_My_\Tcc\bin\;%PATH% - работает.

Set PATH=D:\_My_\Tcc_stud_ide\bin\;%PATH% - не работает.

Set PATH=D:\_My_\Tcc-stud-ide\bin\;%PATH% - работает.

Set PATH=D:\_My_\Tcc- stud -ide\bin\;%PATH% - не работает.

Отсюда мораль, остерегайтесь "_" и " " в пути.

Ещё один простейший пример. Слинкуйте ниже следующую программу с msvcrt.dll. В TCC, например.

//example

int main(void)

{

printf ("\n");

a:

getchar();

goto a;

}

Последовательно введите такие комбинации 1, 22, 333, 4444, 55555, 666666, например. А теперь просто понажимайте клавиши прокрутки экрана вверх и вниз. Думаю, что результаты многих удивят. Возможно, я и "плохой" тестер. Но тем не менее, функцию проверки прав доступа на основе getchar() из msvcrt.dll лучше не создавать.

Вдруг, какой-нибудь филантроп, типа Сороса или Гейтса, пожелает приобрести Universal Student IDE и подарить всем желающим, я с удовольствием соглашусь. В идеале это будет сама Майкрософт.

Если объединить TOOL KIT 2003 и минималистический вариант First Step IDE, то получится привлекательная MSVC JUNIOR начального уровня обучения. Парой кнопок которой смогут пользоваться даже десятилетки.

Миллионы подростков во всём мире мечтают начать программировать на С++, но полноразмерная IDE MSVC для них слишком сложна, не понятна и не привлекательна.

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

Посмотрим, сумеет ли воспользоваться подходящей ситуацией Майкрософт. Приглашение к сотрудничеству уже отослано. Кстати, приглашены все. В случае успеха, Universal Student IDE будет преобразована в VC_JUNIOR - на две кнопки, VC_STUDENT - на три кнопки и VC_STUDENT_ALL_in_ONE - всё возможное и ранее не возможное + обновления по вашим просьбам + открытые исходники. Которые можно будет использовать с любым компилятором. А Слава Майкрософт будет сиять в веках!

Всё выше сказанное, в точности касается и Embarcadero и Министерства Образования любой страны.

Вернёмся к началу повествования. Новичок, непременно желающий заполучить STL, выглядит, как минимум, странно. Всё дело в том, что есть SCL, реализованная в msvcrt.dll и есть STL реализованная кем угодно, как угодно и для того, кто знает.

С msvcrt.dll проблем возникать вообще не должно. А с STL всё ещё проще. Вы либо сами перетаскиваете свою STL к себе в компилятор целиком, если сумеете. Либо кидаете ссылки на неё своему компилятору, если умеете. Либо создаёте проекты для одного единственного файла с 50-ю строками кода в MSVC, если умеете. Либо в два клика имплантируете Universal Student IDE в самое сердце MSVC / BCC32C - папку 'bin' и получаете всё и сразу, и за несколько секунд. Приглашены все!

Если вы профессор / академик, по тем или иным причинам, являетесь убеждённым противником избыточности и последовательным приверженцем простоты и ясности, вы можете приобрести любой из младших вариантов Student IDE по отдельности. На тех же условиях и с превеликим моим удовольствием.

Прежде, чем закончить. Хочу, чтобы мы полностью друг-друга понимали. Создавать проекты, придумали не дураки и не для того, чтобы усложнить вам жизнь. Universal Student IDE хороша, прежде всего, именно на стадии обучения и проработки, когда ваши изыскания не выходят за пределы одного единственного исходного текстового файла. А о подключении дополнительных библиотек вы вообще ещё ни разу не задумывались. Во многих остальных случаях, возможность создать проект = make_file, присутствующая и в Universal Student IDE, может оказаться, именно для вас, не такой уж и плохой.

Но тем не менее, идея, получить готовую программу в один клик, не покидая свой любимый текстовый редактор, очаровывает. И для многих станет приятной, неожиданной и долгожданной находкой. Успехов. :)

Лучший компилятор тот, который позволит вам вывернуть себя / его наизнанку. Обретёте же вы весь мир.

(c) Терешков Олег Евгеньевич. Все мыслимые и немыслимые права, на данный материал и изложенные здесь мной мои идеи, принадлежат мне. Любое копирование и плагиат является воровством, как (у вас / у нас) обычно. Если вы вдруг ощутили в себе великих творцов, критиков, учёных и академиков, то у вас для этого уже было целых 35 лет, чтобы самореализоваться и проявить себя во всей вашей красе. Чего уж теперь?

А если, изложенное здесь, кому-то кажется слишком простым и унылым, то уместно будет вспомнить, что горячо любимой всеми Майкрософт, при всём её замечательном руководстве и огромном штате, тридцати пяти лет оказалось мало, чтобы явить миру самый обычный, нормальный файловый менеджер. Его нет, ни в MSDOS, ни в MS WINDOWS. Со времени WIN95 прошло 22 года, но в блокноте до сих пор нельзя установить цвет бумаги и чернил. Ну хотя бы, вот так.

И я Майкрософт понимаю. Просто, в связи с жестокой конкурентной борьбой, до реальных потребностей пользователя как-то не доходят руки. Так-что не надо ля-ля. А то все крепки задним умом.

Даже Великий Петцольд, который всем всё объяснил, не додумался до предложенной мной здесь святой простоты. Ещё один, типа тупак. Я не верю...

Десятилетний ребёнок, впервые начав с Universal Student IDE, уже через 10 минут в один клик скомпилирует и запустит свой первый "Hello World". Тот же ребёнок, начав с MASM32, ближайшие 10-15 лет будет безрезультатно биться головой о стену, пока он сам в MASM32 начнёт хоть что-то понимать.

Школьники и студенты, приобретите Universal Student IDE и сэкономьте многие годы вашей и без того перегруженной жизни. Всё готово и ждёт вас. Лучшего, для обучения, развлечения и моментально сделанной работы, вам всё равно не найти.

Пару слов о Белл Лабз Прайз. Огромная благодарность Marcus Weldon за приглашение от 13.03.17 & 25.04.17. Что тут сказать. Предложенный здесь материал более, чем хорош, чтобы быть премированным. И если сделать его бесплатным, то увеличит приток новобранцев в IT индустрию 1000 кратно.

Но условия конкурса совершенно неприемлемы для меня и лучше всего иллюстрируются ниже следующей картинкой:

Хотя, конечно же, Белл Лабз может приобрести Universal Student IDE для себя или Майкрософт на общих основаниях. Именно приобрести, а не получить все неисключительные права на продукт, только потому, что я вдруг прислал заявку на их замечательный конкурс, как Белл Лабз того хочется.

И уж конечно, я не стану прыгать, как собачонка, через палочку с приездами, отъездами, высшим образованием, презентациями, налоговой США и прочим около конкурсным фуфлом. Цель которого только в одном - лишить претендента им желаемого.