Вот версия CoffeeScript для тех, кто предпочитает это:
Array.prototype.equals = (array) ->
return false if not array # if the other array is a falsy value, return
return false if @length isnt array.length # compare lengths - can save a lot of time
for item, index in @
if item instanceof Array and array[index] instanceof Array # Check if we have nested arrays
if not item.equals(array[index]) # recurse into the nested arrays
return false
else if this[index] != array[index]
return false # Warning - two different object instances will never be equal: {x:20} != {x:20}
true
Все кредиты передаются @ tomas-zato.
Delphi RAD Studio и Lazarus IDE для языка Паскаля/Дельфи.
Черты Enthought большая платформа для создания UI по умолчанию из модели. Простой в использовании, мощный, случай по умолчанию является тем, который Вы хотите большую часть времени, и он делает то, что Вы ожидаете
, Но нет никакой персистентности базы данных. На самом деле, никакая персистентность вообще. Необходимо написать код для сохранения/загружения модели сами. Выполнение этого для XML довольно просто (существует абстрактный API, который работает на любой объект в Вашей модели), таким образом, просто необходимо записать один класс с, скажем, 50 строками кода, неважно, насколько сложный модель.
средства управления UI не легко расширить, поэтому при необходимости в чем-то, что не идет с ним, удача.
упомянутая выше модель может быть реализована через менее чем один час, другой час к чтению-записи это из/в XML. Навигация графика для отношения займет несколько дней с помощью виджета холста от QT
TurboGears является платформой для быстрого создания веб-приложения с помощью Python. Основные функции: Вы определяете модель, TG создает все остальное, что может затем корректироваться к Вашим потребностям. Для изменений в модели нужен перезапуск сервера разработки, все остальное происходит при следующей перезагрузке в веб-браузере (TG позволит, Вы знали, когда необходимо перезапустить).
А большой шаг вперед, особенно 2,0 выпуска (который должен выйти "очень скоро, теперь" - никакое преступление, парни, я знаю, что Вы усердны на этом в течение нескольких лет..., но никакого TG 2.0 для меня в течение нескольких лет, также :(), сеть только, все же. Таким образом, мы должны были бы реализовать весь drag'n'drop сами, найдите способ нарисовать пригодный для навигации график. Разочаровывающе близко.
Я думаю , nbandroid стоит быть упомянутым. Это - инструмент RAD для разработки программного обеспечения Google Android с помощью NetBeans IDE.
Пантера (и это - версия POSSL OSS), кажется, платформа для создания веб-приложений. Я не мог заставить это устанавливать, так как это только идет со сценарием оболочки Unix как с установщиком. Кто-либо еще сделал, испытывают с этим? Отредактируйте эту запись затем.
Этот ответ непосредственно не связан с Вашим вопросом, но подобен. Для моих проектов самая близкая вещь, которую я использовал, NEsper, который является сложной платформой обработки событий с открытым исходным кодом (CEP). За прошлые два вечера я создал backtester для торговой системы, которую я соединяю, и это был NEsper, который сделал его столь быстрым - я предполагаю, что сделал это в Вашей 8-часовой цели.
REALbasic инструмент инструмента RAD - его компилятор производит собственные исполняемые файлы. И это - кросс-компилятор также, что означает, что можно создать из любой платформы для любой платформы.
Полный доступ к базе данных только поддерживается в Professional Edition (на уровне 400 евро). Персональная версия прибывает в 75 евро и может соединиться с REALSQLDatabase (который также от парней RealSoft).
, В отличие от этого, с В спящем режиме или SQLAlchemy, необходимо записать уровень DB сами.
Grails является платформой для быстрого создания веб-приложений. Это основано Groovy. Вы определяете модель, выполняете две команды из командной строки, и Вы установлены с простым CRUD UI, где можно отредактировать модель в веб-браузере.
сеть только, много хороших идей, но у Вас не может быть родительских/дочерних отношений из-за эта ошибка , который будет, надо надеяться, зафиксирован в 1.0.5 выпусках. Для серьезной разработки Вам будет нужен один из плагины Ajax/толстого клиента , потому что Grails не идет с очень мощными виджетами.
Matisse Netbeans визуальный редактор является великим для разработки Swing.
Visual Studio - Передает лучшую студию RAD существует. Если Вы думаете, что это не только используется для средств разработки Microsoft, Призма Delphi использует его, и Инструменты управления SQL для SQL Server все использование он, Вы понимаете гибкость его. Это также свободно (Инструмент/IDE RAD - не средство разработки).
Волшебный uniPaas: используемый это в моем самом первом задании, которое разработает GUI. Это не ерунда Инструмент RAD, где все - базирующаяся таблица. Это также обеспечивает среду выполнения. Тогда это назвали Волшебным eDeveloper.
Я предполагаю, что WinDev следует за идеей RAD, также.
Примечание: Выполнения только в Windows, цены запускаются на уровне 990 евро. Идет с широким спектром инструментов.
Это зависит от того, кто Ваш рынок. Я могу сказать Вам одну вещь, Ваш рынок никогда не будет состоять из всего человечества. Так, чтобы то, что, возможно, 25% людей на планете не используют Windows, не должно было действительно иметь значения для Вас.
, Что вопросы Вам то, сколько людей на Вашем рынке использование безотносительно ОС? Если Вы пишете бизнес/финансовое приложение, и Вы только разрабатываете для Windows, то Вы, вероятно, только не учитываете приблизительно.05% своего рынка (потому что, когда прошлый раз, Вы слышали о Бухгалтере, который использует Mac или Linux?).
Однако, если Вы пишете программу для создания музыки (как FruityLoops) и Вы пишете Windows только затем, Вы, вероятно, не учитываете больше как 50% Вашего рынка.
Конструктором Удава является кросс-платформенный Python IDE и разработчик wxPython GUI.
Это перечислено как кросс-платформенный RAD на Википедию, но мое предположение - то, что это - больше IDE (вместо чего-то, где можно создать приложение, обрисованное в общих чертах выше через несколько часов).
Труба ( http://softvelocity.com ).
я мог/мог, получают демонстрацию, по которой ударяют вместе для проекта как это в течение часов.
Один перспективный дефицит - то, что это создает исполняемые файлы Win32. Конечно, это может быть решено путем создания веб-системы с ним.
Другой - то, что Труба является определенно не открытым исходным кодом. Который оттолкнул бы много людей.
<час>Хорошо. Мой последний комментарий был приблизительно 2 часа назад. Таким образом в то время, вот то, что мне удалось быть сделанным в Трубе.
я не пишу это для хвастовства. Я честно полагаю, что Труба может сделать удивительные вещи в очень короткий промежуток времени.
система "Знаний" является в значительной степени демонстрацией. Можно только добавить Теги и Отношения к родительским Узлам. Нет надлежащего поиска Тега/Отношения (только исключителен). Никакие изображения или достойный графический дизайн или UI.
, Но платформа, основа там.
Lazarus LCL представляет собой Delphi-подобный VCL поверх существующих наборов виджетов.
Это могут быть GTK1, GTK2, QT, Win32 / 64, WinCE и Carbon. Есть и другие (например, мост COCOA), но в основном они только на начальных этапах.
Visual DataFlex - отличный инструмент RAD, который мы используем. Он специально предназначен для создания бизнес-приложений на основе баз данных. Это, к сожалению, не бесплатно, но это отличная среда / язык, и Доступ к данным дает хорошую поддержку.
Не быть грубым, но разве это не то, для чего в любом случае предназначены графические платы? Похоже, использование стандартных API OpenGL и Direct3D имеет больше смысла.
Почему бы не использовать API для выполнения базового рендеринга, а не CUDA, который намного ниже? Затем, если вы хотите выполнить дополнительные операции, которые не поддерживаются, вы можете использовать CUDA, чтобы применить их сверху. Или, может быть, реализовать их как шейдеры.
-121--4067327-Похоже, что вы ищете способ объявить, сколько измерений имеет массив во время выполнения. Я не знаю, как это можно сделать с помощью многомерного ArrayList или любой многомерной структуры, где вы должны указать размерность во время компиляции.
Единственный ответ, который я вижу, это использовать простой линейный массив, обернутый в класс, который преобразует многомерную координату в и из ее положения в базовом массиве. Это в основном то, как языки, такие как C, хранят многомерные массивы, используя один смежный блок памяти.
Код будет выглядеть примерно так:
import java.util.*;
class MultiArray<T>{
private int[] dimensions;
private Object[] array;
public MultiArray(int ... dimensions){
this.dimensions=dimensions;
//Utils.product returns the product of the ints in an array
array=new Object[Utils.product(dimensions)];
}
public void set(T value, int ... coords){
int pos=computePos(coords);
array[pos]=value;
}
public T get(int ... coords){
int pos=computePos(coords);
return (T)(array[pos]);
}
private int computePos(int[] coords){
int pos=0;
int factor=1;
for (int i=0;i<coords.length;i++){
pos+=factor*coords[i];
factor*=dimensions[i];
}
return pos;
}
}
class Main{
public static void main(String args[]){
MultiArray<Integer> m=new MultiArray<Integer>(new int[]{5,4,3});
Random r=new Random();
for(int i=0;i<5;i++)
for(int j=0;j<4;j++)
for(int k=0;k<3;k++)
m.set(r.nextInt(),i,j,k);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
for(int k=0;k<3;k++)
System.out.print(m.get(i,j,k)+" ");
System.out.println("");
}
System.out.println("\n");
}
}
}
class Utils{
public static int product(int...a){
int ret=1;
for (int x:a) ret*=x;
return ret;
}
}
-121--4716594- Qt Toolkit, найденный по адресу: http://qt.nokia.com/products , для cross-platform GUI разработки C++ также отлично подходит для настольных и мобильных приложений здания.
Microsoft Lightswitch . Трудно представить что-то «более стремительное».
DragonRAD только что был объявлен для разработки приложений Blackberry. Сейчас в закрытом бета-тестировании.