Linked by Thom Holwerda on Wed 3rd Apr 2013 15:41 UTC
Mozilla & Gecko clones Big news from Mozilla and Samsung today: the two have been working on a new browsing engine together, developed from the ground-up to be completely new, and it's written entirely in Rust, a new safe systems language developed by Mozilla. "Rust, which today reached v0.6, has been in development for several years and is rapidly approaching stability. It is intended to fill many of the same niches that C++ has over the past decades, with efficient high-level, multi-paradigm abstractions, and offers precise control over hardware resources. But beyond that, it is safe by default, preventing entire classes of memory management errors that lead to crashes and security vulnerabilities. Rust also features lightweight concurrency primitives that make it easy for programmers to leverage the power of the many CPU cores available on current and future computing platforms." The work is on-going, but of course, all code is out there right now.
Order by: Score:
Also significant...
by Radio on Wed 3rd Apr 2013 16:19 UTC
Radio
Member since:
2009-06-20

They are targetting ARM and Android. Only.

Reply Score: 2

RE: Also significant...
by riha on Wed 3rd Apr 2013 16:30 UTC in reply to "Also significant..."
riha Member since:
2006-01-24

Well, for now, it doesn´t say that it in the end will be exclusive to ARM and android.

Reply Score: 2

RE[2]: Also significant...
by Radio on Wed 3rd Apr 2013 20:44 UTC in reply to "RE: Also significant..."
Radio Member since:
2009-06-20

Yes, but this kind of prioritization is rather new*, I think, and worth a mention.

*for a new langage and a basic** piece of software such as a web engine.

**"basic" as in "common, standard, usual", not as in "simple".

Reply Score: 2

RE: Also significant...
by whartung on Wed 3rd Apr 2013 16:46 UTC in reply to "Also significant..."
whartung Member since:
2005-07-06

And yet, it's still interesting.

Why is it interesting? It's interesting because they're not resting on their laurels. It's interesting because they're not only not ceding to the WebKit mono-culture, they're expanding beyond Gecko itself, and, ideally, taking all that they have learned in the past several years to a new engine.

Perhaps the ARM environment was different enough to make a new engine worth exploring vs simply porting and tweaking Gecko. It also acts as a solid use case for their new language, so it's a win win.

It's a win win even if it doesn't pan out, for whatever reason. Consider it basic research.

So, yea, interesting. Exciting. A mature industry and still doing the hard work and moving forward. Good for them.

Reply Score: 6

RE[2]: Also significant...
by Pro-Competition on Wed 3rd Apr 2013 20:24 UTC in reply to "RE: Also significant..."
Pro-Competition Member since:
2007-08-20

I agree. I find both the browsing engine and Rust to be interesting for the same reasons.

I'm reserving judgement until I do more research, but I like the ideas behind both. Like you, I appreciate the basic research as much as anything that comes from it.

Reply Score: 2

RE: Also significant...
by kjmph on Wed 3rd Apr 2013 17:41 UTC in reply to "Also significant..."
kjmph Member since:
2009-07-17

Sure maybe the push is to target ARM, but I just built it and ran the simple about-mozilla.html on Linux. It crashed upon loading OSnews, or else I would have submitted this response with Servo. I doubt they would hamper it in any way to prevent running anywhere else.

Reply Score: 2

RE: Also significant...
by vivainio on Wed 3rd Apr 2013 20:43 UTC in reply to "Also significant..."
vivainio Member since:
2008-12-26

They are targetting ARM and Android. Only.


Both Servo and Rust are mainly developed on x86. What Samsung is bringing to table is helping with ARM support.

Reply Score: 4

Sex on a cruise ship
by kwan_e on Wed 3rd Apr 2013 16:57 UTC
kwan_e
Member since:
2007-02-18

Why is C++ like having sex on a cruise ship? Because it's fucking close to C.

----------------

Anyway, visited the Rust website. Read the stuff. For a moment I thought I was reading the C++11 standard. The "C++" that gets mentioned as a contrast to Rust doesn't resemble any C++ that I know of, other than C++ written in a Java style.

Diamond inheritance keeps getting mentioned as a problem when in fact inheritance isn't even that useful in C++ in the first place.

Reply Score: 3

RE: Sex on a cruise ship
by moondevil on Wed 3rd Apr 2013 17:17 UTC in reply to "Sex on a cruise ship"
moondevil Member since:
2005-07-08

Have you ever done enterprise C or C++?

Guess where most J2EE architects used to program before.

Reply Score: 3

RE[2]: Sex on a cruise ship
by kwan_e on Thu 4th Apr 2013 00:17 UTC in reply to "RE: Sex on a cruise ship"
kwan_e Member since:
2007-02-18

Have you ever done enterprise C or C++?

Guess where most J2EE architects used to program before.


But did they program in the same style? Did they program Java SE as well and picked up the bad habits from there? The fact that they moved from C++ the J2EE suggests that they found C/C++ not very amenable to the Java style.

Reply Score: 2

RE[3]: Sex on a cruise ship
by moondevil on Thu 4th Apr 2013 06:38 UTC in reply to "RE[2]: Sex on a cruise ship"
moondevil Member since:
2005-07-08

In the world days enterprise computing was full of SUN/DCE RPC and eventually CORBA distributed applications.

Everything placed nicely in tons of abstraction layers.

The initial versions of J2EE are not much different from enterprise architectures that were CORBA based with C or C++ implementations.

Actually Java felt like godsend because it made it way much easier to explorer the type of OO designs already being made in C++, but they were full of issues caused by compatibility between C and C++ compilers across multiple operating systems.

Reply Score: 2

RE[4]: Sex on a cruise ship
by kwan_e on Thu 4th Apr 2013 09:08 UTC in reply to "RE[3]: Sex on a cruise ship"
kwan_e Member since:
2007-02-18

In the world days enterprise computing was full of SUN/DCE RPC and eventually CORBA distributed applications.


Yes, but that's RPC and CORBA. Especially CORBA being designed by the same design pattern happy committee.

Reply Score: 2

RE[5]: Sex on a cruise ship
by JAlexoid on Thu 4th Apr 2013 13:14 UTC in reply to "RE[4]: Sex on a cruise ship"
JAlexoid Member since:
2009-05-19

And mainly used in the C++ land.

Reply Score: 2

RE[6]: Sex on a cruise ship
by kwan_e on Thu 4th Apr 2013 14:12 UTC in reply to "RE[5]: Sex on a cruise ship"
kwan_e Member since:
2007-02-18

And, aside from using the CORBA mappings, you don't need to continue the madness and transparently write in a non-Java style.

If we are going to blame C++ for allowing Java style problems, then I see no way in which Rust would prevent the exact same thing from happening.

Let's have proper, thought out, comparisons.

Reply Score: 2

RE: Sex on a cruise ship
by TemporalBeing on Wed 3rd Apr 2013 17:22 UTC in reply to "Sex on a cruise ship"
TemporalBeing Member since:
2007-08-22

Diamond inheritance keeps getting mentioned as a problem when in fact inheritance isn't even that useful in C++ in the first place.


If you don't think inheritance is very useful in C++ in the first place, then my guess is that you really don't understand it.

Now I'm not a big fan of multiple inheritance - or rather using it in ways that lead to the Diamond Inheritance problem - but I have found inheritance to be very useful in C++.

Reply Score: 3

RE[2]: Sex on a cruise ship
by panzi on Wed 3rd Apr 2013 20:37 UTC in reply to "RE: Sex on a cruise ship"
panzi Member since:
2006-01-22

I wonder, are you people aware of the (at least theoretical) difference between subtyping and inheritance? Because knowing that helps with a lot of problems (well, it helps preventing broken APIs).

Reply Score: 2

RE[2]: Sex on a cruise ship
by kwan_e on Thu 4th Apr 2013 00:10 UTC in reply to "RE: Sex on a cruise ship"
kwan_e Member since:
2007-02-18

If you don't think inheritance is very useful in C++ in the first place, then my guess is that you really don't understand it.

Now I'm not a big fan of multiple inheritance - or rather using it in ways that lead to the Diamond Inheritance problem - but I have found inheritance to be very useful in C++.


Inheritance isn't as useful in C++ as it is in Java or other languages without good compile time generics support. When inheritance is used in C++, there's often no need for overblown class hierarchies that makes diamond inheritance more likely.

Reply Score: 1

RE: Sex on a cruise ship
by timalot on Wed 3rd Apr 2013 21:35 UTC in reply to "Sex on a cruise ship"
timalot Member since:
2006-07-17

I've programmed C++ before. It can be difficult with all the inheritance stuff, but the best part is you can have sex on a cruise ship when needed.

Reply Score: 1

this language is fugly
by kristoph on Wed 3rd Apr 2013 17:16 UTC
kristoph
Member since:
2006-01-01

Rust

for ["Alice", "Bob", "Carol"].each |&name| {
..do spawn {
....let v = rand::Rng().shuffle([1, 2, 3]);
....for v.each |&num| {
......print(fmt!("%s says: '%d'\n", name, num))
....}
..}
}


Ruby (as an example)

["Alice", "Bob", "Carol"].each do | name |
..Thread.new( name ) do | name |
....[1,2,3].shuffle.each do | number |
.......puts "%s says: '%d'" % name, number
....end
..end
end


Why make a modern language so verbose and distasteful.

Edited 2013-04-03 17:29 UTC

Reply Score: 3

RE: this language is fugly
by Thom_Holwerda on Wed 3rd Apr 2013 17:26 UTC in reply to "this language is fugly"
Thom_Holwerda Member since:
2005-06-29

Does that matter? Genuine question - I'm no programmer - but isn't its functionality and benefits more important than how it looks?

Reply Score: 2

RE[2]: this language is fugly
by M.Onty on Wed 3rd Apr 2013 18:06 UTC in reply to "RE: this language is fugly"
M.Onty Member since:
2009-10-23

If you can reach everything you need to in a room, and its not got mold, lice, cockroaches or rats, then any further cleanliness is theoretically pointless. And yet, for some reason, a clear room makes for a clear mind.

So strictly speaking no, it doesn't matter, except that it makes it easier to type quickly and understand when reading, which you'll get the hang of in time in any case. But in our minds a clean aesthetic to the language implies a clean aesthetic to the architecture and methods. That's quite important, especially when a programmer spends more time staring at the text file than the actual resultant program.

Reply Score: 6

RE[2]: this language is fugly
by project_2501 on Wed 3rd Apr 2013 18:06 UTC in reply to "RE: this language is fugly"
project_2501 Member since:
2006-03-20

Readability, expressability, logical conistency, avoiding ambiguity, synactic ease .. are all incredibly important.

You can do all you want with assessmbly language but you wouldn't.

Human considerations of readability and understandability by someone who wasn't the original author is really really important when doing anything above a certain human scale.

And even if it was a small human scale - ie just you coding - the ability to easily translate human ideas into code .. and back... is really key.

Python was popular for minimising the leap between human mind and code... other languages are great for supreme consistency and architectural logic.

Reply Score: 7

RE[2]: this language is fugly
by lucas_maximus on Wed 3rd Apr 2013 20:00 UTC in reply to "RE: this language is fugly"
lucas_maximus Member since:
2009-08-18

Generally yes. Readability is important, since most of your day is spent reading code rather than writing it (Today I maybe spent a solid 30 minutes writing code out of my 9 hour shift).

Ruby and the Rust Syntax demonstrated has some familiarities with Visual Basic. Most programmers hate Visual Basic mainly due to its syntax and partly because a lot of awful code is written in it.

I find that Syntax hard to read especially since the characters in both examples mean completely different things in C like languages, VB and Python (not sure about others).

Reply Score: 4

RE[3]: this language is fugly
by allanregistos on Thu 4th Apr 2013 00:11 UTC in reply to "RE[2]: this language is fugly"
allanregistos Member since:
2011-02-10

Generally yes. Readability is important, since most of your day is spent reading code rather than writing it (Today I maybe spent a solid 30 minutes writing code out of my 9 hour shift).

Ruby and the Rust Syntax demonstrated has some familiarities with Visual Basic. Most programmers hate Visual Basic mainly due to its syntax and partly because a lot of awful code is written in it.

I find that Syntax hard to read especially since the characters in both examples mean completely different things in C like languages, VB and Python (not sure about others).


Readability, understandability, with all these clean code, I can't understand why most posts here don't mentioned Ada or Pascal?

Reply Score: 1

RE[4]: this language is fugly
by moondevil on Thu 4th Apr 2013 06:40 UTC in reply to "RE[3]: this language is fugly"
moondevil Member since:
2005-07-08

Readability, understandability, with all these clean code, I can't understand why most posts here don't mentioned Ada or Pascal?


<rant>
Because hipster kids don't known them and think only C and C++ have compilers available to them.
</rant>

Reply Score: 2

RE[4]: this language is fugly
by lucas_maximus on Thu 4th Apr 2013 10:16 UTC in reply to "RE[3]: this language is fugly"
lucas_maximus Member since:
2009-08-18

Name one popular modern language runtime or framework that uses them?

Reply Score: 2

RE[2]: this language is fugly
by renox on Thu 4th Apr 2013 08:26 UTC in reply to "RE: this language is fugly"
renox Member since:
2005-07-06

but isn't its functionality and benefits more important than how it looks?


Not really, otherwise we would all be using Lisp..
Then again C++ syntax is not that good either..

Reply Score: 2

RE[2]: this language is fugly
by darknexus on Thu 4th Apr 2013 09:41 UTC in reply to "RE: this language is fugly"
darknexus Member since:
2008-07-15

Does that matter? Genuine question - I'm no programmer - but isn't its functionality and benefits more important than how it looks?

It's not looks so much as code readability. If you want to bring in new contributors eventually, you want your code to be as readable as possible with as little effort as possible especially when you're dealing with something as complex as a web rendering engine. A language can look like crap so long as it's readable but, if it's stuffed full of unnecessary syntactic elements as Rust is, it's counter-productive. It takes longer to read, longer to review, longer to code, and introduces a much greater chance for mis-typing a punctuation mark that really shouldn't be needed. The code snippet at the start of this thread is a perfect example: what in hell do you need with all those | and & signs when there are much simpler ways to express that concept? I shouldn't be surprised though. This is Mozilla at work, and these are probably the same people that thought the bloated beast known as XUL was a good idea for a cross-platform UI toolkit.

Reply Score: 2

RE: this language is fugly
by Coxy on Wed 3rd Apr 2013 17:48 UTC in reply to "this language is fugly"
Coxy Member since:
2006-07-01

Yeah, like ruby is so much more readable and concise lol

Reply Score: 5

Bill Shooter of Bul Member since:
2006-07-14

I'd agree. They're both kind of fugly. If I had to choose, I'd probably prefer the rust syntax. Plus its supposed to be lower level, which is nice. But, I'm not in too big of a hurry to adopt a language that's "rapidly approaching stability".

Reply Score: 3

RE[2]: this language is fugly
by kristoph on Thu 4th Apr 2013 02:19 UTC in reply to "RE: this language is fugly"
kristoph Member since:
2006-01-01

Your really missing the point. Ruby may not be your cup of tea but it's syntactically consistent. Just read that Rust example ...

- what is the value of 'let'; obviously the compiler can implicitly identify new variables (notice there is no type declaration)

- why pair for and each, don't both implicitly mean the same thing (they do in most languages)

- why do I need to put do in front of a spawn which takes a closure as it's param (there is no good reason, it's just how they decided it should be)

If you try to learn Rust you'll see it's full of these dumb arbitrary decisions. It's like French and masculine and feminine verbs. There are some rules and then there is stuff that just is. French has an excuse, it's developed over thousands of years, a modern computer language should be better thought out.

Reply Score: 2

RE[3]: this language is fugly
by cyrilleberger on Thu 4th Apr 2013 06:20 UTC in reply to "RE[2]: this language is fugly"
cyrilleberger Member since:
2006-02-01

Your really missing the point. Ruby may not be your cup of tea but it's syntactically consistent. Just read that Rust example ...


In my opinion, the worse part is the mix between object orientation and functional approach (like in python):

for ["Alice", "Bob", "Carol"].each |&name|
let v = rand::Rng().shuffle([1, 2, 3]);

It should either be

for name in ["Alice", "Bob", "Carol"
let v = rand::Rng().shuffle([1, 2, 3]);

or

for ["Alice", "Bob", "Carol"].each |&name|
let v = [1, 2, 3].shuffle();

but missing both approaches is just confusing. This kind of design flaw was tolerable in the 80s, but if you are designing a new programming language in 2013, you should stick to one paradigm.

Reply Score: 2

RE[3]: this language is fugly
by Jaxxed on Thu 4th Apr 2013 06:45 UTC in reply to "RE[2]: this language is fugly"
Jaxxed Member since:
2010-05-29

Not to get too of topic, nor to defend french, but in my experience (6-10 spoken languages investigated,) english is the only language I've encountered without the strong gender emphasis.
Also, most of the gender emphasis is actually object concepts (nouns and adjectives.)

I know that I am being a bit silly by pointing this out, but it is because there are some languages out there that can import foreign words properly, as they break the gender emphasis and then can't be used properly (declinated or conjugated.)

Reply Score: 2

RE[4]: this language is fugly
by kwan_e on Thu 4th Apr 2013 08:48 UTC in reply to "RE[3]: this language is fugly"
kwan_e Member since:
2007-02-18

Not to get too of topic, nor to defend french, but in my experience (6-10 spoken languages investigated,) english is the only language I've encountered without the strong gender emphasis.
Also, most of the gender emphasis is actually object concepts (nouns and adjectives.)


Chinese and Japanese have no genders for words.

Reply Score: 2

RE[4]: this language is fugly
by Savior on Thu 4th Apr 2013 20:29 UTC in reply to "RE[3]: this language is fugly"
Savior Member since:
2006-09-02

Neither does Hungarian or Finnish. According to the Wikipedia, only about one fourth of the world's languages use grammatical genders*. It's more of an indoeuropean / semitic thing.

* Though it is well possible that, apart from the ones mentioned by us, the biggest languages fall into this category.

Reply Score: 2

RE: this language is fugly
by Rahul on Wed 3rd Apr 2013 19:04 UTC in reply to "this language is fugly"
Rahul Member since:
2005-07-06

Well, Rust is at 0.6 and the syntax is at a rapidly evolving stage. So feel free to get involved if you are motivated enough to do something concrete.

Personally, I don't see how the Ruby syntax is going to be more appealing to C++ programmers which is the target of Mozilla.

Reply Score: 2

RE[2]: this language is fugly
by cyrilleberger on Thu 4th Apr 2013 06:16 UTC in reply to "RE: this language is fugly"
cyrilleberger Member since:
2006-02-01

Personally, I don't see how the Ruby syntax is going to be more appealing to C++ programmers which is the target of Mozilla.


Personally I don't see how the rust syntax is going to be appealing to C++ programmers. Especially since Rust is meant as a replacement of C++, while Ruby is not. Personally, I use C++ and Ruby, but for different purposes, and I wouldn't use C++ for what I do in Ruby (ie scripting, prototyping) or Ruby for C++. Different purposes, different syntax.

Now why rust is not appealing for C++ developers (at least me), it is needlessly different from C++.

Rust: fn recursive_factorial(n: int) -> int
C++: int recursive_factorial(int n)

Rust: for(somevector.each |&name|)
C++: for(auto name : somevector)

And so on. Meaning that a C++ developers would have to anyway learn a new programming language.

It is true that having a new syntax is not necessarily a bad idea, however, from looking at the rust examples it looks as quirky as C++, but in different ways. So why jump ship from C++ to Rust if it is not for improvements ?

Reply Score: 3

RE[3]: this language is fugly
by renox on Thu 4th Apr 2013 12:30 UTC in reply to "RE[2]: this language is fugly"
renox Member since:
2005-07-06

Agreed, in the languages I know there is either
for <iterator name> in <set> do <code>
or
<set>.each |<iterator name>| { <code> }

But Rust use both for and each??

Also in Rust { a * x + b } is different from { a * x + b; }, the first one returns a value, the second one returns (), nice heh?
No!!! If they find return too verbose why didn't they use the '^' operator as Smalltalk did?

I'm not sure that the use of ',' to separate case in the 'match' statement is a good idea either..

Reply Score: 2

RE: this language is fugly
by Hiev on Wed 3rd Apr 2013 19:13 UTC in reply to "this language is fugly"
Hiev Member since:
2005-09-27

Well smart ass, put the C++ equivalent and lets compare.

And what with these hipsters that see verbose as an insult?

Edited 2013-04-03 19:16 UTC

Reply Score: 3

RE[2]: this language is fugly
by kwan_e on Thu 4th Apr 2013 00:14 UTC in reply to "RE: this language is fugly"
kwan_e Member since:
2007-02-18

Well smart ass, put the C++ equivalent and lets compare.

And what with these hipsters that see verbose as an insult?


Actually, I think with C++11, you can write C++ in basically the same way as either of them with not that much more verbosity.

Reply Score: 2

RE[3]: this language is fugly
by kristoph on Thu 4th Apr 2013 02:20 UTC in reply to "RE[2]: this language is fugly"
kristoph Member since:
2006-01-01

I don't think verbose is bad when the additional sytax provides implicit meaning. I think verbose is bad when it's just here because the language developer decided this extra stuff made sense to him.

Reply Score: 2

RE[2]: this language is fugly
by kwan_e on Thu 4th Apr 2013 03:04 UTC in reply to "RE: this language is fugly"
kwan_e Member since:
2007-02-18

Rust:

for ["Alice", "Bob", "Carol"].each |&name| {
..do spawn {
....let v = rand::Rng().shuffle([1, 2, 3]);
....for v.each |&num| {
......print(fmt!("%s says: '%d'\n", name, num))
....}
..}
}


C++ (tested in Cygwin with GCC 4.7.x):

for( auto name : { "Alice", "Bob", "Carol", "David", "Enid",
           "Fr an", "Gunther", "Harold", "Iris", "Jen" } )
{
  std::async( std::launch::async, [name]()
  {
    std::vector<int> numbers { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    std::random_shuffle( std::begin(numbers), std::end(numbers) );
    for( auto number : numbers )
    {
      std::cout << name << " says: " << number << std::endl;
    }
  });
}


Edited 2013-04-04 03:07 UTC

Reply Score: 3

RE[3]: this language is fugly
by kwan_e on Thu 4th Apr 2013 04:57 UTC in reply to "RE[2]: this language is fugly"
kwan_e Member since:
2007-02-18

Slightly more correct version in C++:

std::mutex cout_mutex;
std::vector<std::thread> threads;
for( auto name : { "Alice", "Bob", "Carol", "David", "Enid",
          "Fran", "Gunther", "Harold", "Iris", "Jen" } )
{
  threads.emplace_back(std::thread([name, &cout_mutex]()
  {
    std::vector<int> numbers { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    std::random_shuffle( std::begin(numbers), std::end(numbers) );
    for( auto number : numbers )
    {
      std::lock_guard<std::mutex> cout_guard(cout_mutex);
      std::cout << name << " says: " << number << std::endl;
    }
  }));
}

for( std::thread& func : threads )
{
  func.join();
}

Reply Score: 2

RE: this language is fugly
by elvstone on Wed 3rd Apr 2013 20:05 UTC in reply to "this language is fugly"
elvstone Member since:
2005-09-08

Seriously? _One_ example. A comparison to _one_ other programming language. And the difference is _one_ more line of code. And you discard the entire language as "verbose" and "distasteful"? I haven't even read about the language yet, but that's just ridiculous.

Reply Score: 3

RE: this language is fugly
by panzi on Wed 3rd Apr 2013 20:45 UTC in reply to "this language is fugly"
panzi Member since:
2006-01-22

I don't understand why people use that Ruby syntax. I think this is better (more concise, less of a finger twister on German keyboards and more readable):


for name in ["Alice", "Bob", "Carol"]
..Thread.new( name ) do | name |
....for number in [1,2,3].shuffle
.......puts "%s says: '%d'" % name, number
....end
..end
end


But then I also think that one of Rubys biggest problems is it's redundancies (in syntax and interfaces). It causes strange syntax errors (the crappy parser errors aren't any help either) and lower readability/consistency (one team member uses variant A, the other variant B - then they have to read and understand each other's code).

I like the philosophy behind Python much much more, even though a way to inline declare and pass a multiline anonymous function to another function would be nice (-> Ruby's blocks). But many things for which blocks are used in Ruby can be done with the with statement in Python and Python's generators are more powerful than anything in Ruby.

Reply Score: 3

RE[2]: this language is fugly
by kristoph on Thu 4th Apr 2013 02:37 UTC in reply to "RE: this language is fugly"
kristoph Member since:
2006-01-01

I was not really making a comment about the benefit/advantage of Ruby. I was just pointing out that it was much cleaner syntactically. Python is fine too (and even less verbose). Heck, even Objective C is nicer then Rust to my eye.

All I am saying is if your trying to build a new language make it VERY readable, do away with addition keywords and constructs that don't add tangible meaning, try to maintain consistency in syntax and not require arbitrary 'grammar' or abbreviations.

Reply Score: 2

RE: this language is fugly
by chandler on Wed 3rd Apr 2013 20:46 UTC in reply to "this language is fugly"
chandler Member since:
2006-08-29

Rust is a static, safety-oriented language targeted at the same niche as C++. It's a genuine achievement to have the Rust example demonstrate the same level of expressivity as the Ruby version.

Of course there's still too much special syntax in both versions. :-)

#lang typed/racket

(for ((name '("Alice" "Bob" "Carol")))
  (thread
   (thunk
    (for ((number (shuffle '(1 2 3))))
      (printf "~a says ~a\n" name number)))))

Edited 2013-04-03 20:47 UTC

Reply Score: 3

RE[2]: this language is fugly
by moondevil on Thu 4th Apr 2013 06:43 UTC in reply to "RE: this language is fugly"
moondevil Member since:
2005-07-08

There are static compiled versions of Ruby.

Check Crystal,

https://github.com/manastech/crystal

Reply Score: 2

RE: this language is fugly
by vivainio on Wed 3rd Apr 2013 20:46 UTC in reply to "this language is fugly"
vivainio Member since:
2008-12-26

Why make a modern language so verbose and distasteful.


Rust has to support much more stuff than Ruby; it has 3 pointer types for starters, IIRC.

Rust does ok IMO, considering the complexity of concepts it needs a way to express (dynamically typed languages without pointers get off easier in comparison).

Reply Score: 3

RE: this language is fugly
by thesunnyk on Thu 4th Apr 2013 00:29 UTC in reply to "this language is fugly"
thesunnyk Member since:
2010-05-21

As someone who's done embedded programming, I love Rust. So I'm really resisting the urge to say something nasty about your upbringing.

Ruby and Rust are completely different beasts. Rust is completely interoperable with C, and could conceivably be used in writing an operating system, or OS-level code. You'd have to compare it to something like Go as opposed to Ruby, and even Go would be considered higher level.

Considering where it sits on the spectrum of where you can execute Rust, the language is nicer than anything you could come up with.

And Ruby is a bloated, slow and awful language and you're a terrible person and I hope everyone gets cupcakes except you.

Reply Score: 3

Rusty Servo?
by gan17 on Wed 3rd Apr 2013 22:31 UTC
gan17
Member since:
2008-06-03

An engine called 'servo', built on 'rust'. Somehow, that doesn't sound very appealing, nor does it sound safe.

Joking aside,
First the carriers (to spread Firefox OS) and now Samsung. That's like contracting syphilis from one hooker and then getting HIV from another for good measure. Way to go, Mozilla.

Reply Score: 2