Я делаю ту же самую вещь как Вы, Jonathan... просто наследовался от List<T>
. Вы получаете лучший из обоих миров. Но я вообще только делаю это, когда существует некоторое значение для добавления, как добавление LoadAll()
метод или что бы то ни было.
Я бы реализовал основную бизнес-логику на C и нашел время, чтобы написать собственные оболочки GUI для кода каждой платформы - Objective-C / Cocoa и GTK / gnome или что-то еще.
Я бы порекомендовал Objective-C из-за портативности и простоты использования. Вы не можете использовать Какао, если хотите работать в Linux, но Objective-C - действительно хороший язык, и он позволяет вам легко взаимодействовать с обычным кодом C.
Рассмотрите возможность использования Python. С помощью wxPython
Python поставляется с Max OS X и рабочим столом Ubuntu, и ваше приложение можно упаковать так, чтобы оно выглядело и работало как любое другое собственное приложение на любой из них. платформа.
Какое программное обеспечение вы пытаетесь создать?
Наиболее вероятный ответ - C / C ++.
А как насчет Java?
А если вам нужно что-то действительно родное, вы всегда можете использовать JNI .
How about FreePascal maybe with Lazarus if you're interested in GUI development?
Я рискну предположить, что C / C ++ будет наиболее очевидным платформо-независимым языком.
(Я бы не стал)
Почему бы и нет? Какое программное обеспечение вы планируете разрабатывать?
Если вы хотите создать приложение с графическим пользовательским интерфейсом, я думаю, что C ++ / QT является наиболее вероятным кандидатом. Мне неизвестен какой-либо другой скомпилированный [1] язык с развитой поддержкой набора инструментов в OSX и Linux.
Я бы проголосовал за ANSI C или C ++ в сочетании с POSIX.
Учитывая другие ответы ниже, я думаю, вам нужно сделать два варианта
1) Если вам нужен графический интерфейс, вам не нужно выбирать библиотеку пользовательского интерфейса либо кроссплатформенную, например QT, wx и т.д., либо написать другие для OSX и Linux - предпочтительный способ для Apple, и я думаю, что он обеспечит вам лучший внешний вид на каждой платформе
2) нужны ли вашему приложению быстрые вычисления, поскольку это может повлиять на ваш выбор языка, например, C ++ / C / Objective-C против python
Эти два варианта являются отдельными, поскольку вы можете использовать большинство вариантов графического интерфейса для разных языков.
Это зависит от того, что вы хотите сделать. Если вы ищете приложение с очень высокой производительностью, ваш выбор - C / C ++. Если вам нужна быстрая разработка, ваш выбор - Java / Python.