Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 21

Thread: Warp: Facebook Open-Sources A Super Fast C/C++ Pre-Processor

  1. #11
    Join Date
    Jan 2014
    Posts
    224

    Default

    Quote Originally Posted by tarceri View Post
    Yes although it doesn't seem to be a huge project, hopefully someone can take the concepts and rewrite it in c/c++ so it can benefit llvm/gcc.
    C++ is constantly improving. Many of D 1.0 features were later implemented in C++. Some features still look a bit different in C++, but it's only about the syntax and the look'n'feel. I'd expect D to have some effect on C++, but eventually C++ will likely win. People want a continuous standard and clear upgrade path. D breaks compatibility in too many ways and it has smaller ecosystem and very few commercial players shoving truckloads of money on it.

  2. #12
    Join Date
    Jul 2009
    Posts
    221

    Default

    Quote Originally Posted by caligula View Post
    C++ is constantly improving. Many of D 1.0 features were later implemented in C++. Some features still look a bit different in C++, but it's only about the syntax and the look'n'feel. I'd expect D to have some effect on C++, but eventually C++ will likely win. People want a continuous standard and clear upgrade path. D breaks compatibility in too many ways and it has smaller ecosystem and very few commercial players shoving truckloads of money on it.
    I'm waiting for Rust: memory safe with much more low-level flexibility than D. In the mean-time D is a nice language which never took off, C++ is an ugly but powerful language that's getting more and more complex, and... why did this discussion devolve three ways into Warp, FB is evil, and language X >> lang Y?

  3. #13
    Join Date
    Jul 2013
    Posts
    398

    Default

    Quote Originally Posted by Cyborg16 View Post
    I'm waiting for Rust: memory safe with much more low-level flexibility than D. In the mean-time D is a nice language which never took off, C++ is an ugly but powerful language that's getting more and more complex, and... why did this discussion devolve three ways into Warp, FB is evil, and language X >> lang Y?
    1. I'm waiting for Rust as well. Awesome language with so much potential. It's almost here!! >.<
    2. Because it's the Phoronix forums. We can't keep on-topic for more than 5 posts (usually less... I've seen the very first comment derail the entire thread *shrug*)

  4. #14
    Join Date
    Jan 2014
    Posts
    224

    Default

    Quote Originally Posted by Cyborg16 View Post
    I'm waiting for Rust: memory safe with much more low-level flexibility than D. In the mean-time D is a nice language which never took off, C++ is an ugly but powerful language that's getting more and more complex, and... why did this discussion devolve three ways into Warp, FB is evil, and language X >> lang Y?
    "FB is evil" is clearly trolling and off topic. Language X >> language Y is on-topic. I was merely explaining the issues behind slow compilation times in C++. I'd say the Warp is a great product, but it kind of solves a non-problem. If people didn't use such crap language likes C++ (the main problems are pre-processing, syntactical and it's lack of module system in this case) or used an improved future version of C++, there would be less need for Warp. You can think of it like the next step after fixing a slow algorithm by shoving more hardware on it. Now the algorithm is still weak, but you're using a micro-optimized I/O framework to mitigate the cost. The "Real Solution" would be to fix the language.

  5. #15
    Join Date
    Jan 2013
    Posts
    8

    Default

    Quote Originally Posted by caligula View Post
    FB has hired experts from many fields, but the author of the tool is Walter Bright. Walter Bright is a self-taught compiler writer without a formal degree in computer science. Few years ago he did not know what higher order functions are, but he seems to know a thing or two about low level optimizations.
    Huh. What's with the bashing, and that "if-no-formal-education-he-must-be-clueless" attitude?

    He's actually the designer of the D programming language. Funny nobody mentioned that...

    I don't really find that surprising that he did work for Facebook, given that Andrei Alexandrescu (the interviewer in the announcement) works at Facebook nowadays, and knowing they are friends. Andrei himself is a big D proponent and guru (in addition to being a C++ guru).

  6. #16
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Who gives a rusty ****?

    I've got LLVM/Clang and GCC. I'll pass.

  7. #17
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Quote Originally Posted by caligula View Post
    FB has hired experts from many fields, but the author of the tool is Walter Bright. Walter Bright is a self-taught compiler writer without a formal degree in computer science. Few years ago he did not know what higher order functions are, but he seems to know a thing or two about low level optimizations.

    Of course the whole FB language ecosystem is silly. We're expecting a real module system in the coming versions of C++. The include based system is a temporary solution and almost no other language today uses that kind of legacy system. It's terribly inefficient. See these slides http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf

    But this tool is consistent with FB's eagerness towards PHP. PHP is probably the worst of the contemporary web programming languages. I'm not saying it won't work, but it was originally designed for small scale personal home pages, thus the name. A lot of work has been required to improve PHP. It still sucks compared to other similar languages with more thought on design, written by people with more formal academic knowledge. Facebook wanted to create a better compiler for PHP. They'd have come up with a much better tool with a better language (in terms of academic language research), but they probably wanted to produce a more reasonable tool for legions of cheap and ignorant mediocre programmers from public colleges and 3rd world countries with a weaker educational system.
    A B.S. in Mechanical Engineering, from Cal Tech.

    Word of advice: Most of us Mechanical Engineers have learned several programming languages. Writing a Compiler is not Rocket Science. No offense, but most of the top dogs in IT have Mechanical, Electrical and Physics degrees. CS was a helluva a lot easier degree than Mechanical Engineering, and about 1/10th as rewarding.

  8. #18
    Join Date
    Jan 2014
    Posts
    224

    Default

    Quote Originally Posted by pholklore View Post
    Huh. What's with the bashing, and that "if-no-formal-education-he-must-be-clueless" attitude?

    He's actually the designer of the D programming language. Funny nobody mentioned that...

    I don't really find that surprising that he did work for Facebook, given that Andrei Alexandrescu (the interviewer in the announcement) works at Facebook nowadays, and knowing they are friends. Andrei himself is a big D proponent and guru (in addition to being a C++ guru).
    First time I came across D was an interview conveyed by Jon Harrop. I thought it was funny because the guy was designing a multi-paradigm language with functional elements and didn't know what higher order functions are. I tried D few times a bit later and noticed that it had some hilarious problems with type inference. For example inferring the type for an array like [ [], [1,2,3]]. Having academic background knowledge of concepts such as System F could have been helpful in the task. Now that I read about this pre-processor project, it reminds me of C programming 20 years ago. It's been a long while since I worked with languages without any proper module system. OCaml naturally shines when it comes to modules and Rust is also rather interesting.

  9. #19
    Join Date
    Apr 2014
    Posts
    1

    Default LLVM did some tests - LLVM's is faster?

    Quote Originally Posted by curaga View Post
    I was going to ask when it will be integrated to llvm or gcc preprocessors, then saw it was written in D.
    I saw a "back of the envelope" comparison of warp v/s LLVM's preprocessor, and LLVM's was faster. I can't find the link now; must have read it on my other computer :-(. If anyone has the reference, please add it; otherwise, I'll find it later today and update...

  10. #20
    Join Date
    Aug 2011
    Posts
    63

    Default

    Quote Originally Posted by caligula View Post
    First time I came across D was an interview conveyed by Jon Harrop. I thought it was funny because the guy was designing a multi-paradigm language with functional elements and didn't know what higher order functions are. I tried D few times a bit later and noticed that it had some hilarious problems with type inference. For example inferring the type for an array like [ [], [1,2,3]]. Having academic background knowledge of concepts such as System F could have been helpful in the task. Now that I read about this pre-processor project, it reminds me of C programming 20 years ago. It's been a long while since I worked with languages without any proper module system. OCaml naturally shines when it comes to modules and Rust is also rather interesting.
    D1.0 was created by Walter Bright, who wrote a working commercial C++ compiler but didn't have a formal computer science education. D2.0, which is the current version, was mostly designed by Andrei Alexandrescu, the same guy who wrote Warp. He's got his PhD in computer science and there are youtube videos of him in friendly debates with Haskell and Lisp hackers - so it's likely he knows what he's doing.

    I'm not sure Rust trumps D 2.0. I really don't care too much if one beats the other, since both look to be easier to use, easier to secure, easier to read, etc... than C++.
    D2.0 has a pretty cool set of features, http://dlang.org/comparison.html

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •