Announcement

Collapse
No announcement yet.

The Tech Preview Of Servo/Browser.html Is Imminent!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Here kids we can see a troll in his natural environment, a forum thread full of more or less knowledgeable people.

    Note how he impersonates (more or less unsuccessfully) a developer when he isn't.

    How with consummate skill in name-calling he is shitting on the subject most likely to cause reactions.

    Some unsuspecting victims bite his bait and answer, only to get called names and all their points summarily dumped.

    Oh, look, now he is chest-tumping! Take photos, fast!

    Comment


    • #22
      Originally posted by starshipeleven View Post
      Here kids we can see a troll in his natural environment, a forum thread full of more or less knowledgeable people.

      Note how he impersonates (more or less unsuccessfully) a developer when he isn't.

      How with consummate skill in name-calling he is shitting on the subject most likely to cause reactions.

      Some unsuspecting victims bite his bait and answer, only to get called names and all their points summarily dumped.

      Oh, look, now he is chest-tumping! Take photos, fast!
      He's also impersonating a person with the intellectual ability to type on a computer. But I suspect someone else is helping him there.

      Comment


      • #23
        Originally posted by starshipeleven View Post
        Here kids we can see a troll in his natural environment, a forum thread full of more or less knowledgeable people.

        Note how he impersonates (more or less unsuccessfully) a developer when he isn't.

        How with consummate skill in name-calling he is shitting on the subject most likely to cause reactions.

        Some unsuspecting victims bite his bait and answer, only to get called names and all their points summarily dumped.

        Oh, look, now he is chest-tumping! Take photos, fast!
        The legend says that at first, when mountains were created, Master5000 was a normal man.
        Then a drunk witch came and asked him for a wish. "Multiple!" he answered. " I want to be a hundred man at the same time!"
        "Wish accepted!" Answered the witch, before finishing her vodka bottle in 1-shot.

        And now, this is why Master5000 can post 100 messages with a 1 IQ brain instead of 1 message with a 100 IQ brain.

        Comment


        • #24
          Originally posted by uid313 View Post
          I wish there was a browser that could disable advanced JavaScript while retaining basic JavaScript.
          So that it is secure and can do simple things like DOM manipulation, but blocks more advanced things like WebGL, WebAudio, WebRtc, WebSockets, WebCrypto, etc.
          Someone (is, was?) working on an extension that does this, unfortunately they don't mention the name of their extension (if it has one). Might be able to find it if you search for his user name. :/

          Originally posted by Master5000
          Rust isn't even final and they started writing that Servo in it. Just shows how retarded they are. Never use unstable technologies for new projects.
          It's their project, so they can break things without worrying, because they're the ones causing the breakage and should know how to fix it. Considering neither Rust nor Servo is final, I don't see a problem with it. When Servo is feature complete and they begin working on stability and optimization, then we can worry more about Rust (IMO).

          Comment


          • #25
            Originally posted by jrch2k8 View Post
            about rust, how well it handles llvm-svn versions? my radeonsi driver is more a priority to me than try rust, so if it doesn't tend to brake too often i could give it a chance.
            Rust does not dynamically link to LLVM. It uses it's own statically-compiled and patched version of LLVM until the Rust-specific work is eventually upstreamed into LLVM. Red Hat has long refused to include the Rust compiler in their repository because of their policy about statically linking LLVM. Rust should not be installed by your package manager but through the official Rustup toolchain manager. Rustup installs Rust in your home directory and allows you to conveniently install multiple toolchains for any platform and switch between them at all. rustup default nightly will install and set the default toolchain to nightly, for example. rustup update will update all of your toolchains. Easy stuff.

            Rust, in your experience has actual measurable consistent results? again no doubting you but at least for C/C++ clang get kicked by GCC in runtime performance in several cases(loop /valgrind testing freak here) and somehow LTO and other advanced features are not too trustworthy yet in Clang but i get rust uses the internals so maybe is not suffering from this or improves it internally?
            That Rust is deeply integrated with LLVM, it has better results than C with Clang. Any advancements made to LLVM, however, also directly effects Rust. If there is a regression in LLVM, that regression will also affect Rust. Rust does have consistent results, although there is no official and extensive resources for benchmarking Rust against other languages.

            The end result is that Rust can be as low level as you want it to be, so it's merely a matter of implementation details. You can write software as easily as you do with Python with the added safety guarantees and strict compiler rules, and you can then later go back and optimize slow parts in your program after using tools like `cargo profile` and `cargo flame` to measure runtime performance. You can use the unsafe keyword to employ unsafe memory optimization tricks that you would do in C, but this generally isn't required when you are already performing at the same level of C in the majority of cases.

            about your comment about C++, well through the years many awesome languages that in theory and in practice have some neat features come and go but C/C++ always remains constant and there is a reason, C/C++ is a behemoth sized institution of experience, documentation, developer population, actual critical software, corporate backing, expert support, etc. So any language that try to state "is better than" or "as good as" will be compared to that high standard and get rejected(specially on businesses).
            Except businesses are jumping towards Rust very quickly in full force. The safety guarantees that Rust offers is very enticing to companies that want safety guarantees that their mission critical services are secure, bug-free and never fail. Rust is easily taking over mission critical sectors such as autonomous vehicles, along with sectors that normally have used Haskell for it's safety. I would say that Rust has far better documentation than C++ and it's libraries. There are even a number of Mozilla-employed full time staff dedicated to improving documentation of both Rust and the ecosystem of top-used Rust libraries on a weekly basis.

            Comment


            • #26
              Rust looks, on principle, better than c++. I haven't tested rust on wide, complicated projects, so maybe there are things it cannot do aestethically, but it is based on very solid syntax and paradigms.
              In practice, though, as usual, there's this thing called "legacy": it's easier to find existing c++ programmers if you want to set up a project, and it's more probable to end up working on c++ projects if you learn programming. Network effect also applies to programming languages, and it's a huge barrier to entry for new languages.
              In addition, modern c++ (c++11 and later) has really improved c++ on many fronts, so that the need for a replacement has decreased as well.

              I don't think rust will replace c++ (actually, I'm sure it won't), but it's still a language I'd be happy to work with, and look forward to see its use spreading.

              Comment


              • #27
                Originally posted by jrch2k8 View Post
                about rust, how well it handles llvm-svn versions? my radeonsi driver is more a priority to me than try rust, so if it doesn't tend to brake too often i could give it a chance.
                Rust does not dynamically link to LLVM. Rust statically links to their own custom-patched version of LLVM, at least until the Rust-specific work is upstreamed into LLVM at a future date. You should be install Rust through the Rustup toolchain manager, which allows you to install multiple toolchains for multiple targets to allow cross-compilation. Simply running `rustup default nightly` will install and switch the default compiler to nightly, and running `rustup update` will update all of your toolchains.

                Rust, in your experience has actual measurable consistent results? again no doubting you but at least for C/C++ clang get kicked by GCC in runtime performance in several cases(loop /valgrind testing freak here) and somehow LTO and other advanced features are not too trustworthy yet in Clang but i get rust uses the internals so maybe is not suffering from this or improves it internally?
                Any enhancements made to LLVM also directly effects Rust. If there is a regression in LLVM, it will also effect Rust. If there is a performance improvement in LLVM, then that improvement will also effect Rust. Rust is, however, better integrated with LLVM than C is with Clang. LTO works fine with Rust and is preferred for final release builds to reduce binary size. Rust supports valgrind and cachegrind through the cargo profile subcommand, which is useful for conveniently measuring runtime of every function.

                about your comment about C++, well through the years many awesome languages that in theory and in practice have some neat features come and go but C/C++ always remains constant and there is a reason, C/C++ is a behemoth sized institution of experience, documentation, developer population, actual critical software, corporate backing, expert support, etc. So any language that try to state "is better than" or "as good as" will be compared to that high standard and get rejected(specially on businesses).
                Except businesses are rapidly switching to Rust in full force because of it's safety and performance guarantees. Rust is easily sweeping the field in areas where mission critical software that can never fail is a requirement, such as the autonomous automotive industry. Businesses requesting to be appended to the list of Rust friends happens on a weekly basis at this point.

                So i don't doubt for one second rust is transiting the right highway and that the firefox community has put some serious man power into it, but it just need some time to start to compete to C/C++ behemoth institutional infrastructure to become more appealing to professional C/C++developers in the future.
                A lot of time has already been invested in Rust, and it's alerady competing today. How much more time do people need to realize that?

                Update: additionally to C++ trained eyes rust syntax is horribly confusing but i guess is by design to engage more higher level languages developers easier.
                Which parts are confusing? The Rust Book is being updated regularly based on feedback from those who think the syntax is using. If anything would be confusing to C++ programmers, it's that Rust takes advantage of a large number of functional programming techniques that C++ barely, if at all, scratches. Sum types, pattern matching, traits, iterators, and many more advanced features, some of which are currently being worked on (impl Trait and HKTs). Knowledge of functional programming languages like Haskell and Erlang helps.

                Comment


                • #28
                  Originally posted by unixfan2001 View Post
                  There is no correlation between how low level something is and how difficult it is to program in.
                  C++ is higher level than C but I've yet to hear anyone claim it's easier than C. Likewise, Haskell can be a fairly complex language, despite being high-level.

                  Manual memory management is only one jigsaw in the puzzle of complexity.
                  For simplistic cases they are close but C++ is factually easier since it allows you to abstract very extremely complex low level code and reuse it, please understand that language level is not related to syntax at all but by how close can get to the hardware and how many abstractions layer are in between. One of the advantages is the way C++ can interact seamlessly with C and ASM and abstract it without much performance hit, so C++ can reach close enough to ASM and still be high level enough to be OOP(again regardless if you personally like the syntax or not)

                  Well to be honest manual memory is actually medium complexity, cache and multi threading can be wayyyyyy harder since those can very freaking hardware specific and basically required skills for embedded and industrial sectors.

                  in the specific case of haskell, there are too many layer of abstraction to reach C/C++ performance in many scenarios.

                  Please note the language levels are just part of the picture and in many cases can be mixed, all depend on choosing the right tools for the job, unlike games and other stuff is not as simple as which language gives Moar. for example:

                  1.) Facebook app to upload selfies: ASM/C/C++ is a waste of effort and money, go higher level but try to avoid GC
                  2.) Big business dynamic analytic systems: go Java, is easy to dynamically change the logic and you can pay for support everywhere, this type of clients see hardware costs as marginal, so just throw hardware at it.
                  3.) Real time critical financial/industrial HPC systems: C/C++(lots of experience and visible gray hair) or they won't bother calling you.
                  4.) science and super computing: maybe fortran maybe C/C++ maybe cobol maybe maybe parallel accelerators maybe all of the above, those systems tend to be tailored.

                  point being right tool for the job, fanaticism will not make you more effective

                  Comment


                  • #29
                    When it's finished, and you have a browser powered by servo, if it does what you expect from a browser, then it's a good one. Written in C or LOLCODE, it doesn't matter a little bit.

                    Comment


                    • #30
                      Originally posted by mmstick View Post

                      Rust does not dynamically link to LLVM. Rust statically links to their own custom-patched version of LLVM, at least until the Rust-specific work is upstreamed into LLVM at a future date. You should be install Rust through the Rustup toolchain manager, which allows you to install multiple toolchains for multiple targets to allow cross-compilation. Simply running `rustup default nightly` will install and switch the default compiler to nightly, and running `rustup update` will update all of your toolchains.



                      Any enhancements made to LLVM also directly effects Rust. If there is a regression in LLVM, it will also effect Rust. If there is a performance improvement in LLVM, then that improvement will also effect Rust. Rust is, however, better integrated with LLVM than C is with Clang. LTO works fine with Rust and is preferred for final release builds to reduce binary size. Rust supports valgrind and cachegrind through the cargo profile subcommand, which is useful for conveniently measuring runtime of every function.



                      Except businesses are rapidly switching to Rust in full force because of it's safety and performance guarantees. Rust is easily sweeping the field in areas where mission critical software that can never fail is a requirement, such as the autonomous automotive industry. Businesses requesting to be appended to the list of Rust friends happens on a weekly basis at this point.



                      A lot of time has already been invested in Rust, and it's alerady competing today. How much more time do people need to realize that?



                      Which parts are confusing? The Rust Book is being updated regularly based on feedback from those who think the syntax is using. If anything would be confusing to C++ programmers, it's that Rust takes advantage of a large number of functional programming techniques that C++ barely, if at all, scratches. Sum types, pattern matching, traits, iterators, and many more advanced features, some of which are currently being worked on (impl Trait and HKTs). Knowledge of functional programming languages like Haskell and Erlang helps.
                      1.) mmm interesting, this way i can test it and don't mess up my llvm builds, thanks for the information.

                      2.) yeap totally understandable

                      3.) safety seems to make it good for real time operations, fair enough

                      4.) Well syntax apart, i read part of the docs you linked (google it yesterday) and for many things seems to be competitive enough but for others there isn't an obvious relation, for example:

                      a.) how do i bypass/override on demand heap and stack allocations to implement my own allocator? for many cases standard compiler allocation is a no no for me.
                      b.) how do you access kernel infrastructure? lets say memfds and common aio syscalls
                      c.) with threads, how you handle scheduling? affinity? offloading? private custom data? manual synchronization? lifetime?
                      d.) how do you replace the vector and containers allocator?
                      e.) how i can manipulate type size and aligment?

                      just to name few things are not exactly intuitive on the docs, to be fair in C/C++ wasn't easy to learn either without some google fu through the years.

                      5.) i'm not saying is not competing or could not, but still there are billions and billions of LoC of C/C++, trillion of $$$ in investments, million of developers, thousand of tools, millions of books, millions of helpful articles, papers and so on. So yeah it will take long time to reach that grade of maturity as a language(as an integral tool not as technical comparison).


                      thanks for you answers so far, seems very interesting so far

                      Comment

                      Working...
                      X