Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Scala vs Nemerle


Автор: mimik 25.11.2010, 18:53
САБЖ 

smile 

Автор: A5uKa 26.11.2010, 09:06
.NET vs JVM

Если рассматривать языки, то 100% Nemerle. У скалы против Nemerle шансов вообще нет.  smile

Добавлено через 3 минуты и 17 секунд
п.с. Сейчас мой вариант - миксовать языки и спользовать Nemerle лишь в особых случаях, когда без макросов никак.
По большей части новый код на F#. Формочки, странички - VB.NET. JVM под Windows не нужна.

Автор: k0rvin 26.11.2010, 13:27
Цитата(A5uKa @ 26.11.2010,  09:06)
Если рассматривать языки, то 100% Nemerle. У скалы против Nemerle шансов вообще нет.  smile

JVM под Windows не нужна.

а обосновать?

Автор: Cheloveck 26.11.2010, 13:31
Цитата(A5uKa @  26.11.2010,  09:06 Найти цитируемый пост)
JVM под Windows не нужна. 

Давайте создадим фреймворк+язык, который будет генерировать код .NET под винду и JVM под нормальные ОСи? Бред! JVM нужно везде!

Автор: A5uKa 26.11.2010, 13:57
Цитата(k0rvin @ 26.11.2010,  13:27)
Цитата(A5uKa @ 26.11.2010,  09:06)
Если рассматривать языки, то 100% Nemerle. У скалы против Nemerle шансов вообще нет.  smile

JVM под Windows не нужна.

а обосновать?

.net vs jvm - долго можно спорить, но всё же ... NET как-то удобнее и мне кажется, что быстрее.

А про сравнение языков ... ну у немерле и макросы и он более гибкий и правильный что-ли )

вот из одного из блогов...

Scala
Код

   1. // Scala Basics  
   2. import java.util.Calendar  
   3.   
   4. // Constructor  
   5. class Greet(message:String, name:String, loopMessage:Int) {    
   6.  // Fields or Attributes   
   7.  private var _message:String = { message }  
   8.  private var _name:String = { name }  
   9.  private var _loopMessage:Int = { loopMessage }  
  10.  //Properties  
  11.  def Message = _message  
  12.  def Message_= (value:String):Unit = _message = Capitalize(value)  
  13.  def Name = _name   
  14.  def Name_= (value:String):Unit = _name = Capitalize(value)  
  15.  def LoopMessage = _loopMessage  
  16.  def LoopMessage_= (value:Int):Unit = _loopMessage = value  
  17.  // Overloaded Constructor  
  18.  def this() = { this("","",0) }   
  19.  // Method 1  
  20.  private def Capitalize(value:String):String = {  
  21.   if (value.length >= 1)  
  22.    value.capitalize  
  23.   else  
  24.    ""  
  25.  }  
  26.  // Method 2  
  27.     def Salute() = {  
  28.         // "for" statement  
  29.         for (i <- 1 to _loopMessage) {  
  30.             println(_message + " " + _name + "!")  
  31.   }  
  32.  }  
  33.  // Overloaded Method 2.1  
  34.  def Salute(message:String, name:String, loopMessage:Int) = {  
  35.         // "while" statement  
  36.   var i = 0  
  37.   while (i < loopMessage) {          
  38.             println(Capitalize(message) + " " + Capitalize(name) + "!")  
  39.    i += 1  
  40.   }  
  41.  }  
  42.   // Overloaded Method 2.2  
  43.     def Salute(name:String) = {  
  44.   // "switch/case" statement is not supported    
  45.   // using match statement instead  
  46.   def dtNow = Calendar.getInstance()  
  47.   val t = dtNow.get(Calendar.HOUR_OF_DAY)      
  48.   t match {  
  49.    case 6|7|8|9|10|11 => _message = "good morning,"    
  50.    case 12|13|14|15|16|17 => _message = "good afternoon,"    
  51.    case 18|19|20|21|22 => _message = "good evening,"    
  52.    case 23|0|1|2|3|4|5 => _message = "good night,"    
  53.    case _ => _message = "huh?"    
  54.   }  
  55.   println(Capitalize(_message) + " " + Capitalize(name) + "!")  
  56.  }  
  57. }    
  58.    
  59. // Console Program  
  60. // Define object of type Greet and Instantiate Greet. Call Constructor   
  61. val g = new Greet()  
  62. // Call Set Properties   
  63. g.Message = "hello"  
  64. g.Name = "world"  
  65. g.LoopMessage = 5  
  66. // Call Method 2  
  67. g.Salute  
  68. // Call Overloaded Method 2.1 and Get Properties  
  69. g.Salute(g.Message, "scala", g.LoopMessage)  
  70. // Call Overloaded Method 2.2   
  71. g.Salute("carlos")  


Nemerle
Код

   1. #pragma indent  
   2.   
   3. using System.Console;  
   4.   
   5. [Record]class Greet   
  11.     public Message : string          
  17.     public Name : string  
  23.     public LoopMessage : int  
  28.       
  29.     public this()  
  30.         message = ""  
  31.         name = ""  
  32.         loopMessage = 0  
  38.       
  39.     private Capitalize(val : string): string       
  40.         if (val.Length >= 1)   
  41.             val[0].ToString().ToUpper() + val.Substring(1, val.Length - 1)         
  42.         else   
  43.             ""  
  44.       
  45.     public Salute() : void  
  46.         for (mutable i = 0; i < loopMessage; i++)   
  47.             WriteLine("$message, $name");  
  48.       
  49.     public Salute(message : string, name : string, loopMessage : int) : void       
  50.         mutable i = 0 
  51.         while(i < loopMessage)   
  52.             { WriteLine("{0} {1}!", Capitalize(message), Capitalize(name));   i++; }
  54.       
  55.     public Salute(name : string) : void                       
  57.         message = match (System.DateTime.Now.Hour)   
  58.             | 6|7|8|9|10|11 =>  "good morning,"  
  59.             | x when 12 <= x && x <= 17 =>  "good afternoon,"  // just for example
  60.             | 18|19|20|21|22 =>  "good evening,"; 
  61.             | 23|0|1|2|3|4|5 =>  "good night," 
  62.             | _ =>  "huh?"  
  63.                       
  64.         WriteLine("$(Capitalize(message)), $(Capitalize(name))");  
  65.            
  66. mutable g = Greet()  
  67.   
  68. g.Message = "hello"  
  69. g.Name = "world"
  70. g.LoopMessage = 5
  71.   
  72. g.Salute()  
  73. g.Salute(g.Message, "nemerle", g.LoopMessage)
  74. g.Salute("carlos")
  75.   
  76. // Stop and Exit  
  77. WriteLine("Press any key to exit...");  
  78. _ = Read();  


Ну ты понял ...

Добавлено через 1 минуту и 22 секунды
Scala - ниочём  smile 

Автор: kemiisto 26.11.2010, 13:59
Цитата(A5uKa @  26.11.2010,  11:57 Найти цитируемый пост)
Ну ты понял ...

Что кто-то чётким строевым шагом идёт к минусу?

Автор: A5uKa 26.11.2010, 14:05
Цитата(kemiisto @ 26.11.2010,  13:59)
Цитата(A5uKa @  26.11.2010,  11:57 Найти цитируемый пост)
Ну ты понял ...

Что кто-то чётким строевым шагом идёт к минусу?

ммм ?

Тебе же не понравилась Скала вроде как.

Автор: mimik 26.11.2010, 14:25
Цитата(A5uKa @  26.11.2010,  14:05 Найти цитируемый пост)
Тебе же не понравилась Скала вроде как.

его вообше трудно понять, то ему не нравится
Код

a = b;

то он советует Scala и Cobra

Добавлено через 11 минут и 52 секунды
Цитата(Cheloveck @  26.11.2010,  13:31 Найти цитируемый пост)
JVM нужно везде!

в Apple так не думают  smile 

Автор: kemiisto 26.11.2010, 14:39
Цитата(mimik @  26.11.2010,  12:25 Найти цитируемый пост)
в Apple так не думают

http://www.apple.com/pr/library/2010/11/12openjdk.html?

Цитата(mimik @  26.11.2010,  12:25 Найти цитируемый пост)
его вообше трудно понять

Читать нужно внимательнее.

Автор: mimik 26.11.2010, 14:55
http://forum.vingrad.ru/index.php?showtopic=315884&view=findpost&p=2253451
Цитата

Но есть и интересные разработки. Cobra, например. Очень много печенок искаропки.


http://kemiisto.blogspot.com/2010/07/scala.html
Цитата

Что ещё надо для счастья? 

Автор: A5uKa 26.11.2010, 14:55
Так, ну если кто-то может привести тот кривой код Скалы к достойному виду - you'r welcome.

Автор: kemiisto 26.11.2010, 15:05
mimik, ты дурак али как?

Каким образом фраза "есть интересные разработки" и вопросительная фраза "Что ещё надо для счастья?" соотносится с твоим заявлением, что я "советую Cobra и Scala". Следим за словами.

Цитата(A5uKa @  26.11.2010,  12:55 Найти цитируемый пост)
Так, ну если кто-то может привести тот кривой код Скалы к достойному виду - you'r welcome.

Жирнота. Удаляй свой пост.

Автор: A5uKa 26.11.2010, 15:22
Цитата(kemiisto @ 26.11.2010,  15:05)
Цитата(A5uKa @  26.11.2010,  12:55 Найти цитируемый пост)
Так, ну если кто-то может привести тот кривой код Скалы к достойному виду - you'r welcome.

Жирнота. Удаляй свой пост.

Я не могу догнать твою мысль, там простой Record.

Добавлено через 8 минут и 25 секунд
http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx Толстая статья по теме.

Автор: mimik 26.11.2010, 15:35
Цитата(kemiisto @  26.11.2010,  15:05 Найти цитируемый пост)
Каким образом фраза "есть интересные разработки"

а как я должен воспринимать эту фразу, если тема " Как стать программистом C++? что нужно для устройства на работу?" ?

Цитата(kemiisto @  26.11.2010,  15:05 Найти цитируемый пост)
вопросительная фраза "Что ещё надо для счастья?" соотносится с твоим заявлением

а как я должен воспринимать эту фразу, ты пишешь о Scala, а в конце "Что ещё надо для счастья?", т.е. тебя все устраивает, не?

Автор: 502 7.2.2012, 16:14
Nemerle  smile 

Scala вообще рядом не валяется

Автор: k0rvin 7.2.2012, 16:29
Цитата(A5uKa @ 26.11.2010,  13:57)
Ну ты понял ...

Не, не понял. Ты не пробовал правильно отформатировать скалокод и убрать из него комментарии? (как это сделано в немерлекоде)

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