Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > С++/C#/Java/Python/Ruby/D


Автор: slackware 15.9.2008, 00:32
Какой язык из вышеперечисленных лучший?

Автор: skyboy 15.9.2008, 00:57
slackware, лучший - http://en.wikipedia.org/wiki/Brainfuck. в нем не запутаешься.
советую немного "подрасти", осмыслить свои ожидания и перефразировать вопрос. хотя бы "какой язык в данный момент востребованнее" - и то был бы более конкретным и имел бы более однозначный ответ. или "на каком языке лучше писать такие-то и такие-то программы?" потому как, к примеру, на C# под Linux писать web-сервер как-то стремно будет. или на С++ веб-портал. вот это будет вопрос, ответы на который будут не флеймовыми.
а так... у тебя опыт с каким из указанных языков есть? откуда вообще взялся именно такой список?

Автор: slackware 15.9.2008, 01:07
Опыт был только с php smile
сейчас решил выбрать для изучение какой-нибудь из этих

что хотел бы писать?
гы, вообще смотрел в сторону 3D игр smile т.е. работы с графикой, с библиотеками OpenGL/DirectDraw...

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

Вообще конечно в ряд с C++/C# было смешно ставить Ruby/Python

Автор: skyboy 15.9.2008, 08:44
Цитата(slackware @  15.9.2008,  00:07 Найти цитируемый пост)
гы, вообще смотрел в сторону 3D игр

вполне мог бы поискать статистику. 
основная масса игр пишется сейчас на С++. библиотеки, движки.. в принципе, можно и на С#, но там поле пока непаханное. а крупные производители не быстро меняют курс. мелкие же вполне могут себе позволить хоть на Python'e писать игры.
Но, вообще говоря, С++ - десктнопные игры, Java(J2ME) - игры для мобильных телефонов(довольно широкая индустрия).
Что делать остальным языкам в игрострое - даже  не знаю. 

Автор: MAKCim 15.9.2008, 09:11
Лучшие языки - это С, Assembler и Python (иногда Java)
в комбинации эти языки позволяют написать приложение любого уровня и сложности smile 

Автор: LSD 15.9.2008, 12:45
Предлагаю флешмоб - голосуем за D smile

Дабы аффтар задумался на тему того, зачем нужна кнопка поиск.

Автор: slackware 15.9.2008, 15:41
Цитата(LSD @  15.9.2008,  12:45 Найти цитируемый пост)
Предлагаю флешмоб - голосуем за D Дабы аффтар задумался на тему того, зачем нужна кнопка поиск.

бе-бе-бе )
знаю, где этот button

А D - рулит и вправду

Цитата

D — язык программирования общего назначения, предназначенный для прикладного и системного программирования. Он является языком сверхвысокого уровня, но сохраняет возможности прямого взаимодействия с программным интерфейсом операционной системы и с оборудованием. D предназначен для написания средних и крупных систем с миллионами строк исходного кода, для ведения командной разработки. Язык D имеет C-подобный синтаксис, он лёгок в изучении, поддерживает многие возможности в помощь программисту, а также пригоден для проведения агрессивной оптимизации кода компилятором.

Автор: Sartorius 15.9.2008, 15:46
 шо опять? smile 

Автор: Mayk 15.9.2008, 15:50
опрос хорошо показывает скольким людям ещё не надоели холивары(см цифорки около каждого п-та).

а вообще все знают, что mumps лучше всех, но просто стесняются в этом признаться. 

Автор: slackware 15.9.2008, 17:17
Цитата(Sartorius @  15.9.2008,  15:46 Найти цитируемый пост)
 шо опять?  

 smile 

Цитата

MUMPS (англ. Massachusetts General Hospital Utility Multi-Programming System — Масачусетская основная мульти-программная система для госпиталей; иногда M или М-система) — язык программирования созданный в конце 1960 для использования в лечебной индустрии. Из MUMPS в 70-х годах вышла свободная медицинская система VA VistA, де-факто стандарт медицинской информационной системы.

А ты раньше кем работал? smile

Автор: Lazin 16.9.2008, 11:23
лучший язык программирования - delphi lisp!!

Добавлено через 17 секунд
но к сожалению я его не знаю

Добавлено через 2 минуты и 53 секунды
Код

(defun most (fn lst)
  (if (null lst)
      (values nil nil)
      (let* ((wins (car lst))
             (max (funcall fn wins)))
        (dolist (obj (cdr lst))
          (let ((score (funcall fn obj)))
            (when (> score max)
              (setq wins obj
                    max  score))))
        (values wins max))))

разве не очевидно что он чудесен? 

Автор: slackware 16.9.2008, 16:02
http://ru.wikipedia.org/wiki/Assembler
Без базара smile 

Автор: W4FhLF 16.9.2008, 16:09
user posted image

Автор: QryStaL 18.9.2008, 09:15
Цитата(slackware @  15.9.2008,  15:41 Найти цитируемый пост)
А D - рулит и вправду

D — язык программирования общего назначения, предназначенный для прикладного и системного программирования. Он является языком сверхвысокого уровня, но сохраняет возможности прямого взаимодействия с программным интерфейсом операционной системы и с оборудованием. D предназначен для написания средних и крупных систем с миллионами строк исходного кода, для ведения командной разработки. Язык D имеет C-подобный синтаксис, он лёгок в изучении, поддерживает многие возможности в помощь программисту, а также пригоден для проведения агрессивной оптимизации кода компилятором.


Подставьте вместо D слово Java или C# - смысл не изменится. Типичный рекламный лозунг  smile 

Автор: nerezus 18.9.2008, 09:20
Кстати как по мне - то D из списка выше самый... ну не знаю, как сказать. Ну никчемный.

Автор: nickless 18.9.2008, 19:56
Голосовал за C++ из солидарности, на питон галочки не хватило smile 

А если серьёзно, если бы был один один Наилучший Язык, зачем тогда были бы нужны все остальные? smile 

Автор: LSD 19.9.2008, 12:37
D - рулит! Все остальное сакс!

Автор: THandle 19.9.2008, 14:07
Цитата(LSD @  19.9.2008,  13:37 Найти цитируемый пост)
Delphi - рулит! Все остальное сакс! 


Полностью согласен smile 

Автор: gcc 19.9.2008, 18:17
Код


$_='
         $q ="\                   47"; wh
        ile                           ($;=
      $z                +=              .5 ){
    %c=           $r=0;$/ ="";whi         le(2
   0+          $z>($;+=.05)){$c{int$       _+ 2
  6+         2*($              r+= .0       2) *
s          in$               ;}{1       -$_
+1         0+           int        $r*c       o s
$;}         =1for(0.       .1)        }$
t        =r         ever se;$        /.        =`
c        le        ar     `.         "         #!
/        usr       /bi             n/         pe
rl       \n\       $_ =$q        \n"   ;
fo        r$y        (1..20){$c{$_}          {
$ y       }? $         /.=chop$t            :
($/        . ="                          \4
0")         for(0.                    .53)   ;
   $/.        ="\n"}pri            nt"$/$          q;
   s; ".         chr(9 2)."s;;g;eval\n           "}
';s;\s;;g;eval


Автор: Mayk 19.9.2008, 18:21
чёт мне не нравицца слово eval в сообщении gcc.

Добавлено через 9 минут и 10 секунд
а вообще в конце августа группа неизвестных выносила форчан жабкоскриптом в связке с .gif файлом по типу
Код

GIF89a= "...."
// что-то страшное


а вы говорите  "java"

Автор: krwlr 19.9.2008, 18:34
смотрел Д немного, понравилось вот это:
http://www.digitalmars.com/d/2.0/lazy-evaluation.html
В других это более 50 лет существует, ну да ладно, не в этом дело... 
Язык нравится, подучу его, от нечего делать... 

Автор: Mayk 19.9.2008, 18:41
Цитата(krwlr @  19.9.2008,  22:34 Найти цитируемый пост)

В других это более 50 лет существует, ну да ладно, не в этом дело... 
Язык нравится, подучу его, от нечего делать... 

я опасаюсь к d приблежаться. А то вдруг Вальтер опять удариться головой и начнет делать D 3.0, не заботясь о совместимости с 2.0, как уже было  smile 


Автор: krwlr 19.9.2008, 18:56
Mayk, Вальтер? Дарт Вальтер? 
Не, ну о серьёзном приминении и речи быть не может, я просто трогаю много языков и Д не пропускаю мимо...  smile 

Автор: Shaggie 19.9.2008, 19:03
gcc, не, Erlang рулед:
Код

                              -module(e).
                         -export([main/1]).
                       -import(lists,[all/2]).
                         -define(t(A,B),B
                            andalso A).

f(E,R,L,A,N,G) ->

         if E>G->{c,N};L>G->f(E+1,R,R,R,N,G);A>G->c(
       R,N,G);true->case g(E,L,N)of g->f(E,R,L+1,R,N,G
     );_->b(G,E,A,R,N,L)end end. d(A,B)->h(3#21,B,A). h(
    A,B,C)->case f(C,             C,C,C,[{C-1,C-1,a}|B],A
   +2)of{c,D}->e(A+                 1,TL(lists:sort((D))));
 _->fail end. main                   (A)->d(1,A). b(E,R,L,A,
 N,G)when L>E->f(                     R,A,G,L,N,E);b(L,A,N,G,
 E,R)->V=round(math:sqrt(L)),C=fun(I)->(I-1)div V*V end,D=fun
 ({_,_,Q})->N/=Q end,case?t(all(D,[{I,O,S}||{I,O,S}<-E,A==I]),
 ?t(all(D,[{I,S,O}||{I,S,O}<-E,R==S]),all(D,lists:filter(fun({
 O,S,_})->?t(C(A)
 <O,?t(O=<C(A)+V,
 ?t(C(R)<S,S=<C(R
 )+V)))end,E))))of                                true
  ->f(A,G,R+1,G,[{A                              ,R,N}|E
   ],L);_->b(L,A,N+1,                           G,E,R)end.
    a(D,{C,A})->[[B||                          {_,_,B}<-C]|
      e(D-1,A)]. e(_,[                        ])->[];e(E,L)
        ->a(E+1,lists:split(E+1,L)). c(_,[{_,_,a}|_],_)->b
         ;c(B,[{R,K,N}|S],A)->f(R,B,K,N+1,S,A);c(_,[],_)
           ->b. g(B,A,[{B,A,_}|_])->g;g(_,_,[])->h;g(B
                ,A,[_|C])->g(B,A,C).

Автор: QryStaL 29.9.2008, 15:52
Из проголосовавших кто-то пишет на D реальные коммерческие проекты?

Автор: nerezus 3.10.2008, 10:04
QryStaL, нет, это же язык-легенда, как его можно осквернять коммерцией?  smile 

Автор: Goliaf777 12.12.2008, 14:54
Представтье 3000 год выходит язык Z.Все относяться к нему плохо,типа нам круче X# .Но вот восстают воины С smileнусущие тайну веков и всю сущность С подобных языков.Создают новыя язык который называеться A 

Автор: LSD 12.12.2008, 15:15
Цитата(Goliaf777 @  12.12.2008,  14:54 Найти цитируемый пост)
Представтье 3000 год выходит язык Z.Все относяться к нему плохо,типа нам круче X# .Но вот восстают воины С smileнусущие тайну веков и всю сущность С подобных языков.Создают новыя язык который называеться A  

У тебя ещё осталось? Отсыпь, а? smile 

Автор: Mayk 12.12.2008, 15:26
Цитата(LSD @  12.12.2008,  19:15 Найти цитируемый пост)

У тебя ещё осталось? Отсыпь, а?

у меня есть отличный туториал по http://cm.bell-labs.com/cm/cs/who/dmr/btut.html. 
Цитата

Appendix C: printf for Formatted IO
printf(fmt,a1,a2,a3,.. . ,a10)

This function writes the arguments ai (from 0 to 10 of which may be present) onto the current output stream under control of the format string fmt. The format conversion is controlled by two-letter sequences of the form '%x' inside the string fmt, where x stands for one of the following:

    c -- character data (ascii)
    d -- decimal number
    o -- octal number
    s -- character string

для эстетов и любителей старины

Автор: Vermut 26.12.2008, 16:58
- C++ лучше чем Java!
- А чем лучше?
- Чем JAVA!
 

Автор: unicuum 11.1.2009, 12:00
Цитата(skyboy @  15.9.2008,  00:57 Найти цитируемый пост)
slackware, лучший - brainfuck. в нем не запутаешься.

Этот брейнфак подозрительно похож на С++, видимо создателя этого языка что-то беспокоило.

Цитата(skyboy @  15.9.2008,  00:57 Найти цитируемый пост)
или на С++ веб-портал

Где-то читал что ранние версии поисковика Google, те самые которые делали его создатели, были написаны на C++. В настоящее же время множество сервисов сделали из гугла портал.

Цитата(slackware @  15.9.2008,  01:07 Найти цитируемый пост)
что хотел бы писать?
гы, вообще смотрел в сторону 3D игр smile т.е. работы с графикой, с библиотеками OpenGL/DirectDraw...

Тогда на все остальные языки можно сразу смело забивать. OpenGL/DirectX/PhysX и многое другое, т.е. всё или почти всё делают под C++. Можно конечно и портировать, мучаться, всячески снижать производительность, если охота.

Автор: Goliaf777 22.1.2009, 14:03
Непонимаю языки которые только для одной платформы сделаны. В чем смысл программировать только под одну операционную систему тратить много времени на обучение этому языку , а если придется программировать для других ОП вдруг в один день перестанут вообще развивать эту ОП. Короче: В чем смысл тратить мегачеловекачасы чтобы изучать такие языки, когда есть другие не менее лучшие и кроссплатформенные?

Автор: nerezus 22.1.2009, 14:09
Goliaf777, все просто: большинству не нужно програмиировать под другие платформы.

Автор: Shaggie 22.1.2009, 14:11
Goliaf777, а какой из перечисленных языков не кроссплатформен?

Автор: Goliaf777 22.1.2009, 17:52
nerezus хм...это не для меня наверно... smile 
Shaggie: есть такие, их пытаются сделать кроссплатформенными но это глупо.Нехочу называть именно язык, какашками закидают.

Автор: nerezus 23.1.2009, 00:19
Shaggie, C#
Для *nix нет внятной реализации, в mono не реализованы вещи еще из FW1(см тот же WebBrowser и его методы)

Автор: Shaggie 23.1.2009, 07:27
Цитата(nerezus @  23.1.2009,  00:19 Найти цитируемый пост)
C#

Ох, проглядел, прошу прощения, глаз замылен. Хотя быстрый поиск по гуглам показывает, что Mono не стоит на месте, и буквально на днях зарелизена http://www.mono-project.com/news/archive/2009/Jan-13.html, плюс разработчики всё время обещают доделать эту фичу. Но без поддержки MS, конечно, это не труъ кроссплатформ, другой вопрос, а нужен ли он...

К слову, так и не голосовал.

Автор: QryStaL 23.1.2009, 12:42
Цитата(Goliaf777 @  22.1.2009,  14:03 Найти цитируемый пост)
В чем смысл программировать только под одну операционную систему

Например, в случаях, когда достаточно, чтобы программа работала на одной операционной системе - то есть в большинстве случаев =)

Цитата(Goliaf777 @  22.1.2009,  14:03 Найти цитируемый пост)
есть другие не менее лучшие и кроссплатформенные

Не менее лучших нету, есть менее лучшие под конкретную задачу

Автор: nerezus 23.1.2009, 12:48
Цитата

Не менее лучших нету, есть менее лучшие под конкретную задачу
 Brainfuck как пример. <режим стеба>Или один из популярных языков с похожим синтаксисом.</режим стеба>

Автор: Goliaf777 23.1.2009, 15:33
Глупо из бритвы для удобства газонокасилку делать, чтобы кросплатформенне.

Автор: nerezus 23.1.2009, 17:44
Goliaf777, назови мне некроссплатформенный аналог Qt, сопоставимый с ней по удобству.
И попытайся поттом объяснить, чем он лучше.

Автор: Samotnik 25.1.2009, 01:16
Java  smile 

Автор: nerezus 25.1.2009, 09:58
Цитата

Java  
 Я C++ имел ввиду. 

Автор: kemiisto 25.1.2009, 13:46
Цитата(QryStaL @  23.1.2009,  10:42 Найти цитируемый пост)
Например, в случаях, когда достаточно, чтобы программа работала на одной операционной системе - то есть в большинстве случаев =)


QryStaL, ага и этой ОС примерно в 50% случаев (даже больше) будет Mac OS, если писать для Америки и Европы. А в 50% - Windows. И вот тут Mono не просто нервно курить в сторонке, он вообще никак не может прикурить. Так у него руки трясутся. Java, пока только Java. smile

Добавлено через 3 минуты и 29 секунд
А ну да, исчо Qt.

Автор: unicuum 12.2.2009, 21:27
Цитата(kemiisto @  25.1.2009,  13:46 Найти цитируемый пост)
И вот тут Mono не просто нервно курить в сторонке, он вообще никак не может прикурить.

А ты пробовал Mono 2.2? http://www.go-mono.com/mono-downloads/download.html хотя бы виндовую версию и посмотри. Для моно создали уже достаточно http://mono-project.com/Libraries, например, 3D - http://www.taoframework.com/, децентрализованный трекер + клиент - http://mono-project.com/Bitsharp, джаббер сервер + клиент - http://code.google.com/p/jabber-net/ и т.д. Плюс моно не просто немного ограничивает функциональность .NET (а это кстати можно обойти), он её в значительной степени расширяет, можно http://mono-project.com/Database_Access и многое другое.

Преимущества Mono, что если сразу его учитывать, то программа без перекомпиляции будет запускаться как на .NET Framework, так и на Mono и если первое это всего лишь Windows, то второе это GNU/Linux, Solaris, Mac OS X, Windows и Unix. Я бы задал вопрос не так, а нужен ли .NET? И если ответ да, то разработчик будет хотя бы знать, что действуй он правильно, его программа, которую он наваял в Visual Studio станет кроссплатформенной.

Хотя я то все равно считаю, что C++ лучший, даже не смотря на то, что его надо использовать с кроссплатформенными библиотеками и потом компилировать результат для каждой ОС, хотя .NET Framework и Mono совместимую программу достаточно просто запустить. Java я не рассматриваю, и так понятно, что она даёт, остальные языки тоже, потому что они более специализированы, точнее их так используют.

Автор: kemiisto 12.2.2009, 21:56
Цитата(unicuum @  12.2.2009,  19:27 Найти цитируемый пост)
А ты пробовал Mono 2.2?

unicuum, я смотрю, ты упорно игнорируешь текст моих сообщений.
 
Цитата(kemiisto @  25.1.2009,  11:46 Найти цитируемый пост)
QryStaL, ага и этой ОС примерно в 50% случаев (даже больше) будет Mac OS, если писать для Америки и Европы.

Видишь, что тут написано? Тут написано Mac OS. Я же неспроста это написал. И уж если я пишу, что Mono нервно курить в сторонке, то не просто же так.

Цитата(unicuum @  12.2.2009,  19:27 Найти цитируемый пост)
Для моно создали уже достаточно библиотек, например, 3D - Tao Framework, 

Я пытался прикрутить его на Mac OS, чтоб отображать 3D сценку в определённой области окна... Это... smile Это просто невозможно! 

Цитата(unicuum @  12.2.2009,  19:27 Найти цитируемый пост)
Для моно создали уже достаточно библиотек, например, 3D - Tao Framework, децентрализованный трекер + клиент - Bitsharp, джаббер сервер + клиент - Jabber-Net и т.д.

Ты хочешь, чтобы я перечислил всё, что создано для Java и для Qt?

Цитата(unicuum @  12.2.2009,  19:27 Найти цитируемый пост)
Преимущества Mono, что если сразу его учитывать, то программа без перекомпиляции будет запускаться как на .NET Framework, так и на Mono и если первое это всего лишь Windows, то второе это GNU/Linux, Solaris, Mac OS X, Windows и Unix.

Спасибо, поржал. Mono - только Linux и только с рабочим столом GNOME. И желательно SuSE. Ибо на Solaris доступна только версия 1.2 (да и то полуофициальная), на Mac OS многое не работает, да и просто делать там нечего с GTK-виджетами, на Windows просто смысла не вижу писать на Mono - сразу на .NET.

Автор: unicuum 13.2.2009, 01:11
Цитата(kemiisto @  12.2.2009,  21:56 Найти цитируемый пост)
Ты хочешь, чтобы я перечислил всё, что создано для Java и для Qt?

Нет не хочу, я знаю, что для них написано.

Цитата(kemiisto @  12.2.2009,  21:56 Найти цитируемый пост)
на Windows просто смысла не вижу писать на Mono - сразу на .NET. 

Смейся дальше, нет необходимости писать на Mono или что ты под этим подразумеваешь. Надо писать для .NET Framework и по мере написания кода анализировать идёт ли поддержка используемого функционала или нет. В конце выйдет приложение, которое будет запускаться без перекомпиляции по крайне мере на GNU/Linux и Windows, проверял сам лично и не только на openSUSE. smile 

Причём под виндой я его запускал как с помощью .NET Framework, так и с помощью Mono, и компиляторы были майкрософтские, никаких настроек в Visual Studio не менял. А Mac OS X и Solaris вроде как обещали поддержку, но честно говоря мне до лампочки, если ты пробовал, тебе виднее.

Цитата(kemiisto @  12.2.2009,  21:56 Найти цитируемый пост)
Я пытался прикрутить его на Mac OS, чтоб отображать 3D сценку в определённой области окна... Это... smile Это просто невозможно! 

Ничего по этому поводу тоже сказать не могу, поддержка должна быть полной. На винде прикручивается с лёгкостью. Для линукса 3д не пробовал, но не думаю, что будут проблемы. А Mac OS X испытать нет возможности, потому что для этого надо иметь ихний макинтош, так как если программировать не на нём, то бесполезно даже пытаться. На моей виртуальной машине виртуальная видеокарта не поддерживает 3D. smile  Установка на обычный компьютер хакинтош тоже думаю того не стоит с точки зрения программирования.

Добавлено через 7 минут и 42 секунды
Цитата(kemiisto @  12.2.2009,  21:56 Найти цитируемый пост)
Видишь, что тут написано? Тут написано Mac OS. Я же неспроста это написал.

Да, кстати, раз уже речь зашла о макинтошах. Посмотри хотя бы http://mono-project.com/Screenshots у себя на фирменном эпловском железе с полными драйверами. Потом отпишись, как это всё работает (или не работает) на Mac OS X, только Mono последней версии ставь. Оценим так сказать перспективы для макинтошей непосредственно. smile 

Автор: kemiisto 13.2.2009, 01:48
Цитата(unicuum @  12.2.2009,  23:11 Найти цитируемый пост)
Смейся дальше, нет необходимости писать на Mono или что ты под этим подразумеваешь. Надо писать для .NET Framework и по мере написания кода анализировать идёт ли поддержка используемого функционала или нет.

Немного не так выразился. Хм... Если так, то хорошо. Но даже в этой теме есть указание, что ты рисуешь уж очень идеалистическую картину:
Цитата(nerezus @  22.1.2009,  22:19 Найти цитируемый пост)
Для *nix нет внятной реализации, в mono не реализованы вещи еще из FW1(см тот же WebBrowser и его методы) 


Цитата(unicuum @  12.2.2009,  23:11 Найти цитируемый пост)
Да, кстати, раз уже речь зашла о макинтошах. Посмотри хотя бы вот эти приложения у себя на фирменном эпловском железе с полными драйверами. Потом отпишись, как это всё работает (или не работает) на Mac OS X, только Mono последней версии ставь.

Mono 2.2_5
Запускаем MonoDevelop 2.0 Alpha 2. Что видим?
http://ipicture.ru/Gallery/Viewfull/13227517.html
  • Котролы ненативные. Незачод раз!
  • Главное меню должно быть всегда в верхней панели. Ибо воистину! Незачод два.
  • А где у нас GTK# Application Template? Опа! Нету такого. Если интересно почему - разработчики Mono ну никак не могут написать работающий дизайнер форм для Mac. Если сами разработчики не могут сделать такую (относительную) мелочь, то мне то на что расчитывать?
Большая часть приложений очень сильно привязана к нативным GNOME'овским либам. Ты сам то на Windows запустишь Banshee, Beagle, ... ? 
Всё очень плохо на Mac OS и с реализацией Windows Forms. Пробуем, например, запустить NClass:
Цитата
$ mono NClass.exe 

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at System.Windows.Forms.PageSetupDialog.get_UseYardPound () [0x00000] 
  at System.Windows.Forms.PageSetupDialog.LocalizedLengthUnit () [0x00000] 
  at System.Windows.Forms.PageSetupDialog.InitializeComponent () [0x00000] 
  at System.Windows.Forms.PageSetupDialog..ctor () [0x00000] 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.PageSetupDialog:.ctor ()
  at NClass.GUI.MainForm.InitializeComponent () [0x00000] 
  at NClass.GUI.MainForm.Init () [0x00000] 
  at NClass.GUI.MainForm..ctor () [0x00000] 
  at (wrapper remoting-invoke-with-check) NClass.GUI.MainForm:.ctor ()
  at NClass.GUI.Program.Main (System.String[] args) [0x00000]


Вот такие пироги.

unicuum, я бы сам с удовольствием писал на Mono. Но я руководствуюсь простым принципом: инструмент должен быть адыкватен поставленной задаче. При написании кросс-платформенных GUI приложений по сумме балов Qt вне конкуренции. 

Автор: Lazin 13.2.2009, 06:37
да дерьмо все это ваше программирование... smile

Добавлено через 1 минуту и 30 секунд
Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
При написании кросс-платформенных GUI приложений по сумме балов Qt вне конкуренции

не совсем согласен, есть-же еще Java

Добавлено через 4 минуты и 39 секунд
Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
# Котролы ненативные. Незачод раз!
# Главное меню должно быть всегда в верхней панели. Ибо воистину! Незачод два.
# А где у нас GTK# Application Template? Опа! Нету такого. Если интересно почему - разработчики Mono ну никак не могут написать работающий дизайнер форм для Mac. Если сами разработчики не могут сделать такую (относительную) мелочь, то мне то на что расчитывать

а ты уверен, что WinForms под мак вообще писали и что он официально поддерживается?

Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
Ты сам то на Windows запустишь Banshee, Beagle, ... ? 

есть порт banshee под win32

Автор: kemiisto 13.2.2009, 11:20
Цитата(Lazin @  13.2.2009,  04:37 Найти цитируемый пост)
не совсем согласен, есть-же еще Java

Lazin, это уже по опыту. Я не говорю, что Java не существует, но по сумме баллов...

Цитата(Lazin @  13.2.2009,  04:37 Найти цитируемый пост)
а ты уверен, что WinForms под мак вообще писали и что он официально поддерживается?

Да, только действительно рабочую версию обещают не раньше http://www.mono-project.com/Roadmap, запланироанной на June 2009. И что, будем ждать?

Цитата(Lazin @  13.2.2009,  04:37 Найти цитируемый пост)
есть порт banshee под win32 

Это частности, а в общем и цело очень сильная привязка к GNOME библиотекам.

Автор: unicuum 13.2.2009, 13:12
Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
unicuum, я бы сам с удовольствием писал на Mono. Но я руководствуюсь простым принципом: инструмент должен быть адыкватен поставленной задаче. При написании кросс-платформенных GUI приложений по сумме балов Qt вне конкуренции. 

Цитата(kemiisto @  12.2.2009,  21:56 Найти цитируемый пост)
unicuum, я смотрю, ты упорно игнорируешь текст моих сообщений.

kemiisto, я смотрю, ты упорно игнорируешь текст моих сообщений. smile 

Цитата(unicuum @  11.1.2009,  12:00 Найти цитируемый пост)
Тогда на все остальные языки можно сразу смело забивать. OpenGL/DirectX/PhysX и многое другое, т.е. всё или почти всё делают под C++. Можно конечно и портировать, мучаться, всячески снижать производительность, если охота. 

Цитата(unicuum @  12.2.2009,  21:27 Найти цитируемый пост)
Хотя я то все равно считаю, что C++ лучший, даже не смотря на то, что его надо использовать с кроссплатформенными библиотеками и потом компилировать результат для каждой ОС, хотя .NET Framework и Mono совместимую программу достаточно просто запустить. Java я не рассматриваю, и так понятно, что она даёт, остальные языки тоже, потому что они более специализированы, точнее их так используют. 


Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
Но даже в этой теме есть указание, что ты рисуешь уж очень идеалистическую картину:

Давай разберёмся, что у нас есть:
1. .NET Framework x.x
2. Mono x.x

Среды разработки
1. Visual Studio x.x (для Windows)
2. MonoDevelop (для GNU/Linux)

В итоге программисты могут создать программу:
1. Совместимость только с .NET Framework x.x
2. Совместимость только с Mono x.x
3. Совместимость и с .NET Framework x.x и Mono x.x

Первый и второй вариант рассматривать нет смысла, о третьем должен думать сам программист. Если он сделает что-то неправильно, совместимости не будет.

Цитата(kemiisto @  13.2.2009,  01:48 Найти цитируемый пост)
Пробуем, например, запустить NClass:

Я его в винде запустил так просто и через Моно, и через Моно он вылетает, когда делаешь диаграмму. Причём МоМА ясно говорит, что есть три ошибки, проверял для версии 2.2, 2.0 и 1.9, говорит одно и тоже.
Цитата
void InitializeComponent ()    void PrintDialog.set_UseEXDialog (bool)    Stub, not implemented

Цитата
void InitializeComponent ()    void ComboBox.set_AutoCompleteMode (AutoCompleteMode)    AutoCompletion algorithm is currently not implemented.

Цитата
void InitializeComponent ()  void ComboBox.set_AutoCompleteSource (AutoCompleteSource)  AutoCompletion algorithm is currently not implemented.

Таким образом это виноваты кривые руки разработчиков, однако это тоже не совсем верно. Посмотри http://www.mono-project.com/Guide:_Porting_Winforms_Applications, о том как провести портирование этого приложения, чтобы оно стало кроссплатформенным. Там описано как исправить эти ошибки.

Так что давай тренироваться не на учебных примерах, возьми для начала ftp://sharpchess.com/SharpChess_EXE_v2_52.zip и запусти на Mac OS X, именно Mac OS X, а не Mac OS. А потом сообщи, какие у тебя глюки или наоборот их отсутствие. Кстати, MoMA указал шесть ошибок

Цитата
void InitializeComponent ()    void Form.set_AutoScaleBaseSize (Size)    Setting this is probably unintentional and can cause Forms to be improperly sized. See http://www.mono-project.com/FAQ:_Winforms#My_forms_are_sized_improperly for details.

Но вроде это не должно вызвать глюков, хотя в документации советуют убрать вызов this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);, что думаю не сложно.

Автор: kemiisto 13.2.2009, 13:43
Цитата(unicuum @  13.2.2009,  11:12 Найти цитируемый пост)
Так что давай тренироваться не на учебных примерах, возьми для начала SharpChess и запусти на Mac OS X, именно Mac OS X, а не Mac OS. А потом сообщи, какие у тебя глюки или наоборот их отсутствие.

 smile Не запускается! Просто висьнет. Никаких Exception, просто повис. 

Цитата(unicuum @  13.2.2009,  11:12 Найти цитируемый пост)
kemiisto, я смотрю, ты упорно игнорируешь текст моих сообщений.

 smile Да, бывает.

Автор: unicuum 13.2.2009, 14:39
Цитата(kemiisto @  13.2.2009,  13:43 Найти цитируемый пост)
smile Не запускается! Просто висьнет. Никаких Exception, просто повис. 

Если ничего не помогает, пора читать http://www.mono-project.com/FAQ:_Winforms#My_forms_are_sized_improperly%20for%20details: smile 

Цитата
 My forms are sized improperly

This can be caused by AutoScaling. You can try disabling it:

export MONO_MWF_SCALING=disable
mono myapp.exe


If this fixes it, you can disable it in your application by removing the following line from your form's designer code:

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

(This line is added automatically by Visual Studio when it creates a new Form. However, if your forms look bad on Linux because of this, they will also look bad on any Windows computer where the default font has been changed.) 


Сделай то что красным выделено, и попробуй запустить. Если не поможет вот http://www.filehoster.ru/files/ce8902 на который MoMA начиная с версии 1.2.5 не ругается, если более старое, то матерится. smile 

Ну, что ж, попытка номер два, компьютер макинтош, ОС Mac OS X, запуск при помощи Mono 2.2.

Автор: kemiisto 13.2.2009, 14:54
unicuum, ни export не помог, ни твой exe не запустился. Симптомы теже - просто виснеть.

Автор: unicuum 13.2.2009, 18:10
Цитата(kemiisto @  13.2.2009,  14:54 Найти цитируемый пост)
unicuum, ни export не помог, ни твой exe не запустился. Симптомы теже - просто виснеть. 

Требования:
Макинтош (не хакинтош)
Mac OS X Tiger (10.4) and Leopard (10.5).
Mono 2.2_5 Framework - Universal

Если после этого не пошло, значит или прога плохо написана, или Mono для ОС Х не доделана, или Mono это очередное большое надувательство от майкрософт. smile 

Я эту штуку запустил на Mono 1.2.5 под Мандривой 2008. Приложение запустилось и всё нарисовало, но когда жмёшь на доску, то прога по тихому вылетает. Причём MoMA говорит, что всё путём для этой версии. smile На их сайте сказано, что надо включать для отладки библы моно имитирующие фреймворк, чтобы лучше узнать, что к чему.

Но весь то прикол в том, что под виндой это приложение работает и с Моно и с Фреймворком без всяких глюков. Надо будет как-нибудь обновить на разных линуксах Моно до последней версии и посмотреть, что там и к чему. Отношения по поводу этого высказывать не буду, тут и без меня наговорили - http://www.linux.org.ru/view-message.jsp?msgid=3433285

Автор: kemiisto 6.4.2009, 15:04
unicuum, если тебе интересно, ничего не изменилось с вызодом 2.4 (MonoFramework-2.4_7.macos10.novell.universal). И MonoDevelop по-прежнему сырой и неполный. Только терь это даже на офф. сайте написано. Красным по белому:
user posted image
 smile 

Автор: Lazin 19.6.2009, 23:59
Сегодня я немного познакомился с D, и еще прочитал 2 статьи о D 2.0. Впечатления такие: D 1.0 - вполне себе приятный язык, эдакий refined c++. Писать проще, обобщенное программирование намного проще и мощнее. Немного попахивает Java-й и шарпом(сборка мусора, структуры и классы - не одно и то-же, интерфейсы). Сам язык проще для разработчиков компиляторов, и прочих инструментов, его сравнительно легко парсить.
D 2.0 это вообще вынос мозга. Во первых, D 2.0, это pure functional язык программирования. Не так как haskell, а скорее наоборот, но результат тот-же.
Допустим у нас есть ф-я 
Код

result_type func( value_type * val )
{
    return some_other_func(val + global_var);
}

в с++, параметр можно сделать константным, но это нужно скорее программисту, чем компилятору и не гарантирует неизменяемость данных, на которые указывает var
к тому-же, компилятор не может определить, будет-ли ф-я возвращать одно и то-же значение при одних и тех-же входных параметрах
в D 2.0 можно сделать следующее: (ну ручаюсь за безошибочность синтаксиса)
Код

pure result_type func( invariant value_type * val )
{
    return some_other_fucn(val + global_var);
}

если ф-я some_other_func не чистая(pure), код не скомпилируется, если переменная global_var не invariant, аналогично (причем это строго, а не так, как в с++, когда мы можем убрать const qualifier c помощью const_cast), тоесть чистота ф-ий проверяется с помощью системы типов, как в haskell, только здесь все наоборот, в haskell все по умолчанию чистое и без сайд эффектов, а в D 2.0 все по умолчанию императивное, с возможностью сказать компилятору, что та или иная ф-я(метод) чистая... но как только у нас есть что-то чистое, то смешать его с обычным, императивным кодом не получится.
Еще одно новшество касается многопоточного программирования, но я с этим еще не разобрался, там как-то с помощью системы типов форсируется thread safety...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)