Online IDE
May. 31st, 2007 05:59 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Да, вот ещё напишу, пока не забыл.
Раз уж всё сейчас online, то и программировать нужно тоже начинать online.
А именно, идёшь на сайт Online Java IDE или Online C++ IDE или что угодно ещё, создаешь там проект и начинаешь добавлять файлы, то есть страницы. Естественно, редактор поддерживает syntax highlighting, code completion и все остальные удобные вещи. Можно указать, какие именно библиотеки нужны для линковки, если что-то недоступно - загружаешь сам. Там же кнопочка "скомпилировать". Что делать дальше, пока ясно не совсем. Скорее всего, должно выделяться некоторое место на виртуальном диске, с которым можно работать как со своим собственным. Если это консольная программа, то тут всё просто. Если же это GUI или ещё что-то очень сложное, то тут можно просто загрузить себе на компьютер получившийся executable.
Зачем это нужно ? Очень просто: во-первых, проекты никогда не будут теряться. Тут же и source control, конечно, чтобы несколько человек могли работать над одним проектом, и сохранение версий. Во-вторых, проект можно объявить public, сделав его, таким образом, open source, так, чтобы над ним тут же (не сходя с этой страницы) могли работать другие люди.
В-третьих, часто бывает, что какая-то среда не установлена на компьютере, или устанавливать её не хочется ради какого-то одного небольшого проекта. Или вот, скажем, я хочу попробовать написать программу на Haskell'e или на ещё на чём-то для пробы, а устанавливать компилятор не хочу. Вообще, как известно, одно из больших препятствий, когда начинаешь программировать на новом языке - это установка среды и попытки разобраться с компилятором. А тут волшебный сайт будет сам всё за тебя делать - только знай, пиши программы.
Или кто-то находится дома, а ему нужно срочно внести изменения в проект - тоже вариант.
Кроме этого, к таким проектам можно тут же приделать все современные веб-штуки: дискуссии, комментарии, вики-страницы, notes, links - что угодно. Как было бы здорово, чтобы прямо на странице с кодом были бы комментарии и обсуждения, советы, ссылки на какие-нибудь статьи и книги и т.п. И конечно же, чтобы работал обычный гипертекст - чтобы, например, нажав на вызов функции, можно было перейти к её определению и всё остальное, что обычно работает в таких случаях.
Вот, вот чем нужно заниматься стартапам!
no subject
Date: 2007-05-31 11:57 am (UTC)no subject
Date: 2007-05-31 01:03 pm (UTC)no subject
Date: 2007-05-31 01:09 pm (UTC)В браузере можно программировать откуда угодно, сотрудничать с кем угодно и хранить файлы "в интернете" всегда.
no subject
Date: 2007-05-31 01:58 pm (UTC)no subject
Date: 2007-05-31 02:05 pm (UTC)no subject
Date: 2007-05-31 02:36 pm (UTC)no subject
Date: 2007-05-31 03:06 pm (UTC)IDE 2.0 типа.
Также программисты голосуют за код друг-друга + сайт анализирует названия используемых функций и в соответствии с этим даёт рекоммендации какие функции ещё использовать :)
А если серъёзно, то где-то я видел PHP IDE онлайн.
no subject
Date: 2007-06-01 12:52 am (UTC)no subject
Date: 2007-05-31 04:00 pm (UTC)no subject
Date: 2007-06-01 12:50 am (UTC)no subject
Date: 2007-06-01 02:52 am (UTC)no subject
Date: 2007-06-01 08:03 am (UTC)no subject
Date: 2007-06-01 08:19 am (UTC)Re: Reply to your comment...
Date: 2007-06-01 08:33 am (UTC)Пишем такое (один раз), после чего используем:
Возвращает
[1,4,9,16,25,36,49,64,81,100]
То есть, 1) ко ВСЕМ массивам добавили новый метод, и 2) этот метод принимает лямбду (которая здесь пишется как function(){}).
Я уж не говорю про фокусы типа
["apple","orange","huinja"][[1,4,9].indexOf(4)]
Re: Reply to your comment...
Date: 2007-06-01 08:58 am (UTC)Вы возродили мой интерес к JavaScript'у. Может, в свободное время изучу, всё-таки в наше время это один из важнейших языков, как ни крути.
Re[2]: Reply to your comment...
Date: 2007-06-01 09:11 am (UTC)Не на данном этапе эволюционной спирали
Date: 2007-06-02 01:27 am (UTC)Сначало были огромные машины-залы и прямой доступ к ним через перфокарты (smart client).
Потом были терминалы (thin client).
Потом были писишки (smart client).
Потом - браузеры (thin client)
Теперь вот - опять smart client. Потому что рост мощностей железа замедлился и 100 средних писишек (вместе взятые) стоят на порядки дешевле одного супер-сервера, равного им (вместе взятым) по мощности. Т.к. при thin client'е бОльшая часть нагрузки падает на сервер, при сколь-нибудь сложных задачах он плохо масштабируется на большое число пользователей. При 10 одновременно работающих программистах средний современный сервер будет чувствовать себя плохо, а при 100 - просто загнется.
Re: Не на данном этапе эволюционной спирали
Date: 2007-06-02 02:56 pm (UTC)1) Сначала программы обмениваются тупо данными, а presentation logic (в гуевом клиенте, скажем) -- hard-coded: всякие клиент-сервер аппликации
2) Потом в протокол обмена добавляются мета-данные, описываюшие presentation, а клиент становится "универсальным": Browser/HTML
3) Возможности мета-данных оказываются недостаточными (а клиентские машины стали мощнее) и к мета-данным подмешивается язык для прораммирования presentation logic: DHTML с javascript'ом
Какой следующий этап ? Возвращение к (1) на новом этапе.
Интересно, что похожий процесс происходил в полиграфии: сначала полностью проприетарные системы, потом появления постскрипта, а потом pdf.
Re: Не на данном этапе эволюционной спирали
Date: 2007-06-02 07:58 pm (UTC)Re: Не на данном этапе эволюционной спирали
Date: 2007-06-03 05:21 am (UTC)