Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Why is .NET so popular? (Serious Question)

Why is .NET so popular? (Serious Question)

Scheduled Pinned Locked Moved The Lounge
csharphelpquestionc++java
146 Posts 75 Posters 43 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    b_dunphy
    wrote on last edited by
    #1

    I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

    S W J C E 50 Replies Last reply
    0
    • B b_dunphy

      I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

      S Offline
      S Offline
      Slacker007
      wrote on last edited by
      #2

      I don't know man, I just work here.

      1 Reply Last reply
      0
      • B b_dunphy

        I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

        W Offline
        W Offline
        wout de zeeuw
        wrote on last edited by
        #3

        Why not assembly while you're at it? :laugh:

        Wout

        H J _ 3 Replies Last reply
        0
        • B b_dunphy

          I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

          J Offline
          J Offline
          Joe Woodbury
          wrote on last edited by
          #4

          Because ASP.NET is so much better than any alternative. Due to having .NET developers and the mistaken belief that .NET is good for anything, it gets used for everything. For internal one off tools, .NET can be very useful, though I have enough experience with C++ and MFC that that usefulness is marginal (and I have a few tools which I was able to write much faster in C++; I know because to entertain myself, I wrote them in both.) Almost all my production code that ships to customers is in C++. It comes down to experience. I'm continually surprised at the number of veteran developers who really don't know the Windows API all that well. I've also run across too many developers who aren't very good programmers and jump to any new technology claiming it's better in an attempt, I believe, to mask their overall incompetence. With .NET, for example, the could give a good presentation and sound like they knew what they were talking about, but actually wrote worse C# code than C++ mostly because they got so damn lazy.

          J K 2 Replies Last reply
          0
          • W wout de zeeuw

            Why not assembly while you're at it? :laugh:

            Wout

            H Offline
            H Offline
            Henry Minute
            wrote on last edited by
            #5

            Assembly! Assembly? You youngsters today are spoiled. Machine Code is the way to go. :-D

            Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

            S F P 3 Replies Last reply
            0
            • B b_dunphy

              I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

              C Offline
              C Offline
              Chris Losinger
              wrote on last edited by
              #6

              .Net is much more friendly to new programmers than something like MFC. .Net is a far more comprehensive library than MFC (or any other framework i've ever seen). also, .Net provides a far better way to do web programming than C++. (and i say this as a die-hard C++ programmer) and this "meta environment" you speak of is a bit exaggerated. .Net languages are compiled to native code, at run time. there isn't really any huge "runtime" between the code and the OS. there's an environment and a standard librar, just as there is with any other language. but it's not like .Net is interpreted or anything.

              image processing toolkits | batch image processing

              L S 2 Replies Last reply
              0
              • B b_dunphy

                I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                E Offline
                E Offline
                Ennis Ray Lynch Jr
                wrote on last edited by
                #7

                .NET is only popular in the Business Software World. Other application domains feature other favorite languages.

                Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. I also do Android Programming as I find it a refreshing break from the MS. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost

                1 Reply Last reply
                0
                • W wout de zeeuw

                  Why not assembly while you're at it? :laugh:

                  Wout

                  J Offline
                  J Offline
                  Joe Woodbury
                  wrote on last edited by
                  #8

                  I love writing assembly, just can't find an excuse too. I really do believe assembly should be learned by all CS students very early on. It sheds a whole lot of light on what's really going on with the computer and makes you very jaded about claims of new technology (since you know that it's all just assembly in the end.)

                  L P J 4 Replies Last reply
                  0
                  • B b_dunphy

                    I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                    R Offline
                    R Offline
                    Rob Graham
                    wrote on last edited by
                    #9

                    b_dunphy wrote:

                    Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I

                    Shows a bit of ignorance on your part. Unlike java or UCSD Pascal, .Net JITs to native code, optimized for the particular OS and hardware it is running on, so it can in many cases actually be faster than pre-compiled Win32/64 code, since it can take advantage of OS specific and processor specific optimizations. Java and UCSD Pascal compile to p-code which must be then executed by an interpreter.

                    b_dunphy wrote:

                    realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                    That most people would rather not have to implement all that functionality themselves? that a large, robust framework really speeds application development be not forcing developers to re-invent the wheel every time?

                    J R B 3 Replies Last reply
                    0
                    • J Joe Woodbury

                      I love writing assembly, just can't find an excuse too. I really do believe assembly should be learned by all CS students very early on. It sheds a whole lot of light on what's really going on with the computer and makes you very jaded about claims of new technology (since you know that it's all just assembly in the end.)

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #10

                      I only did any assembly at Uni, but really enjoyed doing it. No-one else in the class (it was a crap course at a crap university) could get to grips with it at all, to the extent that the lecturer gave everyone his solution. He marked mine wrong simply because it was different to his, then I pointed out that not only did my solution work, it was more efficient than his was.

                      Every man can tell how many goats or sheep he possesses, but not how many friends.

                      S 1 Reply Last reply
                      0
                      • B b_dunphy

                        I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #11

                        b_dunphy wrote:

                        meta environment running on top of a GUI on top of the operating system

                        I can only speak for myself. Because no one is hiring for DEC-C on OpenVMS anymore. :sigh: Because it lets me write Windows (WinForms) apps -- I completely failed to understand OWL and VB2. Because of ADO.net. (Does SQL Server 2008 support esql?) Because C# is a great language. It's only major fault is its dependency on .net X| . Oh, and because of garbage collection and Reflection. I should probably try writing a Windows-Service-hosted WCF service in C. :cool:

                        1 Reply Last reply
                        0
                        • R Rob Graham

                          b_dunphy wrote:

                          Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I

                          Shows a bit of ignorance on your part. Unlike java or UCSD Pascal, .Net JITs to native code, optimized for the particular OS and hardware it is running on, so it can in many cases actually be faster than pre-compiled Win32/64 code, since it can take advantage of OS specific and processor specific optimizations. Java and UCSD Pascal compile to p-code which must be then executed by an interpreter.

                          b_dunphy wrote:

                          realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                          That most people would rather not have to implement all that functionality themselves? that a large, robust framework really speeds application development be not forcing developers to re-invent the wheel every time?

                          J Offline
                          J Offline
                          Joe Woodbury
                          wrote on last edited by
                          #12

                          Rob Graham wrote:

                          .Net JITs to native code, optimized for the particular OS and hardware it is running on, so it can in many cases actually be faster than pre-compiled Win32/64 code, since it can take advantage of OS specific and processor specific optimizations.

                          Baloney. The JIT compiler is still saddled with the constructs of .NET. I've done extensive benchmarking and have found that purely algorithmic code is 4x slower on average with .NET than native C++. When using the framework, there are portions of .NET that are faster, though once you figure out what they're doing, you can get almost always get better performance with C/C++. (A common trap is file i/o. .NET can make this look so fast until you realize that they are often caching the entire file!)

                          Rob Graham wrote:

                          not forcing developers to re-invent the wheel every time?

                          Laziness. There are plenty of libraries out there that offer fantastic functionality for C++. They are just as easy to learn as .NET and sometimes easier. The difference is that .NET puts all this massive amount of code (35MB of mostly native C++) in one place with one runtime. If you gave yourself a budget of even half that, you can easily build a list of fantastic C++ libraries that aren't very expensive. I will openly and totally conceded that dealing with COM is much easier in .NET. One reason is that the objects are actually documented (using undocumented objects in .NET is as big a pain as in C++ and Microsoft still has way too many undocumented "must use" COM objects.)

                          I 1 Reply Last reply
                          0
                          • R Rob Graham

                            b_dunphy wrote:

                            Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I

                            Shows a bit of ignorance on your part. Unlike java or UCSD Pascal, .Net JITs to native code, optimized for the particular OS and hardware it is running on, so it can in many cases actually be faster than pre-compiled Win32/64 code, since it can take advantage of OS specific and processor specific optimizations. Java and UCSD Pascal compile to p-code which must be then executed by an interpreter.

                            b_dunphy wrote:

                            realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                            That most people would rather not have to implement all that functionality themselves? that a large, robust framework really speeds application development be not forcing developers to re-invent the wheel every time?

                            R Offline
                            R Offline
                            Rama Krishna Vavilala
                            wrote on last edited by
                            #13

                            Rob Graham wrote:

                            Unlike java

                            Java had JIT compilation for a long time.

                            R 1 Reply Last reply
                            0
                            • B b_dunphy

                              I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                              R Offline
                              R Offline
                              Rutvik Dave
                              wrote on last edited by
                              #14

                              This is the only bus has destination and moving to correct direction, also the bus driver is Microsoft. so do you wanna get in or left behind? because you cannot rely on other buses they might broke down in the middle of no where, or taken over by someone as hostage... :rolleyes: This is as serious as I can get right now ;P

                              1 Reply Last reply
                              0
                              • W wout de zeeuw

                                Why not assembly while you're at it? :laugh:

                                Wout

                                _ Offline
                                _ Offline
                                _beauw_
                                wrote on last edited by
                                #15

                                That's not really a helpful response. It is valid to ask "at what level of abstraction should I be working?" The answer to this question is not, as many people seem to assume, that we ought to work at the highest level of abstraction possible. Abstraction is not necessarily an absolute good. At the lowest level of abstraction, we have machine language (NOT assembly language, as anyone who's ever hand-assembled code can tell you), followed by assembly language, and then by languages like C and Pascal, and then by newfangled technologies like .NET and Java, and finally by "code free" quasi-development technologies. As one moves among these levels of abstraction, there are tradeoffs. Moving up in abstraction reduces the speed of the object application and (more subtly, but importantly) the speed of the development tools. It also reduces the depth with which the developer can claim to understand his or her code; again, this is a subtle and oft-overlooked drawback to abstraction, but it's real. At each level, the returns to greater abstraction diminish. Assembly is much easier than machine language, which doesn't correspond to even the most basic human expectations of what a "language" should be. C is significantly easier than assembly, although the difference is less dramatic. C++ and C# offer benefits compared to C, but, again, these are not as dramatic as the previous steps up the abstraction ladder. I would submit that C#, Java, etc. may reside at a level of abstraction that is too high for many projects. Garbage collection is, for me, an example of why this is so. Look at what good C++ programmers do with automatic smart pointer variables, and then ask yourself whether an non-deterministic, out-of-thread system is really necessary to reclaim heap objects. Such "magic" definitely abstracts away some troublesome details... but are we sure (given the neat alternatives) that this is a good thing...? I can imagine plausible arguments both ways. Finally, let me assure you that for someone with a good basic understanding of digital computers, working with assembly language is easy. Personally, I do not find it to be any harder than much of the .NET work I do. Sure, assembly requires me to know about things like how numbers are represented, how looping and decision structures are implemented, etc., but it will also never present me with one of those head-scratching, out-of-the-blue errors that make it so difficult to work with high-level frameworks, e.g. "Failed set trust point in ssl context" or "P

                                L A W 3 Replies Last reply
                                0
                                • B b_dunphy

                                  I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                  J Offline
                                  J Offline
                                  Jeremy Falcon
                                  wrote on last edited by
                                  #16

                                  b_dunphy wrote:

                                  What am I not seeing here?

                                  Well, it's classic VB's replacement. It makes things easier for your typical biz app and takes it a one step further too. And MS has a pretty good stronghold on this market segment so if they push it for Windows dev, then it's gonna get popular in the business world. And, I say this as a die-hard C/C++ fan with a day job in .NET.

                                  Jeremy Falcon

                                  1 Reply Last reply
                                  0
                                  • R Rama Krishna Vavilala

                                    Rob Graham wrote:

                                    Unlike java

                                    Java had JIT compilation for a long time.

                                    R Offline
                                    R Offline
                                    Rob Graham
                                    wrote on last edited by
                                    #17

                                    It does not however, compile to native code, which was my point.

                                    R L 2 Replies Last reply
                                    0
                                    • J Joe Woodbury

                                      Because ASP.NET is so much better than any alternative. Due to having .NET developers and the mistaken belief that .NET is good for anything, it gets used for everything. For internal one off tools, .NET can be very useful, though I have enough experience with C++ and MFC that that usefulness is marginal (and I have a few tools which I was able to write much faster in C++; I know because to entertain myself, I wrote them in both.) Almost all my production code that ships to customers is in C++. It comes down to experience. I'm continually surprised at the number of veteran developers who really don't know the Windows API all that well. I've also run across too many developers who aren't very good programmers and jump to any new technology claiming it's better in an attempt, I believe, to mask their overall incompetence. With .NET, for example, the could give a good presentation and sound like they knew what they were talking about, but actually wrote worse C# code than C++ mostly because they got so damn lazy.

                                      J Offline
                                      J Offline
                                      Jeremy Falcon
                                      wrote on last edited by
                                      #18

                                      Joe Woodbury wrote:

                                      I've also run across too many developers who aren't very good programmers and jump to any new technology claiming it's better in an attempt, I believe, to mask their overall incompetence.

                                      5!

                                      Jeremy Falcon

                                      1 Reply Last reply
                                      0
                                      • B b_dunphy

                                        I have some limited experience with C# and VS 2008 and I don't understand why the .Net framework is so popular. It is a meta environment running on top of the operating system just like Java and the non-Windows implementations do not have all of the capabilities of the Windows version so it's not truly cross platform. I don't see why -- other than Microsoft's semi-forcing the issue -- someone would choose to use this. Shouldn't Win32/64 code run just as well, if not better, since there is no runtime between the code and the system? I can't help thinking of Java or even UCSD P-System Pascal when I look at this. I realize .Net has a large amount of built-in functionality but the same thing could be implemented in native code as well. What am I not seeing here?

                                        R Offline
                                        R Offline
                                        Rama Krishna Vavilala
                                        wrote on last edited by
                                        #19

                                        b_dunphy wrote:

                                        why the .Net framework is so popular.

                                        Depends on whom you ask? How many*desktop* applications which you use on a day to day basis are written in .NET? Let' see:- 1. Internet Browsers - Chrome, IE, FF, Opera -> None of them are in .NET 2. Microsoft Office - Not .NET (though some add-ons can be .NET) 3. Windows Live Messenger, Yahoo messenger, Google Talk etc - Not .NET 4. Notepad, Paint, Calculator - Not .NET 5. Visual Studio - Mainly .NET 6. SQL Server - Not.NET but portions of Management studio/BI Studio are .NET 7. Task Manager - Not .NET I am just talking about Windows here. Mac and Linux users may survive even without knowing about .NET. The place where .NET is popular is in Websites developed for IIS (lot of intranet sites). ASP.NET is almost the de-facto choice. Now again, IIS is a very small percent of total websites out there. The only other place where .NET is popular is enterprise applications or custom developed enterprise apps.

                                        J L M J 4 Replies Last reply
                                        0
                                        • _ _beauw_

                                          That's not really a helpful response. It is valid to ask "at what level of abstraction should I be working?" The answer to this question is not, as many people seem to assume, that we ought to work at the highest level of abstraction possible. Abstraction is not necessarily an absolute good. At the lowest level of abstraction, we have machine language (NOT assembly language, as anyone who's ever hand-assembled code can tell you), followed by assembly language, and then by languages like C and Pascal, and then by newfangled technologies like .NET and Java, and finally by "code free" quasi-development technologies. As one moves among these levels of abstraction, there are tradeoffs. Moving up in abstraction reduces the speed of the object application and (more subtly, but importantly) the speed of the development tools. It also reduces the depth with which the developer can claim to understand his or her code; again, this is a subtle and oft-overlooked drawback to abstraction, but it's real. At each level, the returns to greater abstraction diminish. Assembly is much easier than machine language, which doesn't correspond to even the most basic human expectations of what a "language" should be. C is significantly easier than assembly, although the difference is less dramatic. C++ and C# offer benefits compared to C, but, again, these are not as dramatic as the previous steps up the abstraction ladder. I would submit that C#, Java, etc. may reside at a level of abstraction that is too high for many projects. Garbage collection is, for me, an example of why this is so. Look at what good C++ programmers do with automatic smart pointer variables, and then ask yourself whether an non-deterministic, out-of-thread system is really necessary to reclaim heap objects. Such "magic" definitely abstracts away some troublesome details... but are we sure (given the neat alternatives) that this is a good thing...? I can imagine plausible arguments both ways. Finally, let me assure you that for someone with a good basic understanding of digital computers, working with assembly language is easy. Personally, I do not find it to be any harder than much of the .NET work I do. Sure, assembly requires me to know about things like how numbers are represented, how looping and decision structures are implemented, etc., but it will also never present me with one of those head-scratching, out-of-the-blue errors that make it so difficult to work with high-level frameworks, e.g. "Failed set trust point in ssl context" or "P

                                          L Offline
                                          L Offline
                                          Lost User
                                          wrote on last edited by
                                          #20

                                          In languages like C, C++, C#, Java etc you still "have to" know how numbers are represented - ok you might get away with ignoring issues like that, but then your code is likely to suck. Such as this, I never want to see this, if I see this I will tell you in your face that you suck and I will tell your boss to fire you:

                                          bool IsPowerOf2(int x)
                                          {
                                          for (int i = 0; i < 32; i++)
                                          if ((int)Math.Pow(2, i) == x)
                                          return true;
                                          return false;
                                          }

                                          And yes, I saw that one in the wild. Suggested replacement: return (x & (x - 1)) == 0; edit: the replacement treats 0 as power of 2, of course, usually not a problem in my experience and easy enough to change.

                                          E G 3 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups