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. Fed-up with strongly typing

Fed-up with strongly typing

Scheduled Pinned Locked Moved The Lounge
comhardwarequestion
61 Posts 29 Posters 3 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.
  • G Guirec

    Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

    Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

    M Offline
    M Offline
    Matthew Faithfull
    wrote on last edited by
    #13

    I prefer strong typing. I'm happy for those who don't to do their thing without it in JavaScript or WhateverLang(TM) at a minimum safe distance of two parsecs from me. When they do however and then have no idea why their function produces the correct result only on even numbered days of the week don't expect me to come to the rescue, I'm out of distress call range. Yes they will be 'code complete' before I will and yes they will almost certainly write more lines of code per day. However when I have debugged through the use cases for my code I will KNOW that it works and will remain working barring an act of God or at least RMS. The same cannot be said for the script kiddies with their fingers crossed sweating the Q.A. results. ;)

    "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

    G 1 Reply Last reply
    0
    • G Guirec

      Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

      Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

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

      There is a difference between strong-typing and static typing and I am in favor of both by a wide-margin. Although, I am quite the Javascript Kiddie.

      Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch

      1 Reply Last reply
      0
      • G Guirec

        that is definitely not the case. but a proficient programmer is anyway testing is code and just don't rely on compilation, right?

        Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

        F Offline
        F Offline
        Freak30
        wrote on last edited by
        #15

        And what if the proficient programmer misses one of the code paths during his tests? The compiler will surely check them all.

        G J 2 Replies Last reply
        0
        • G Guirec

          In real-life I am pro consensus but in software programming I like to avoid non-firm-decisions as much as I can. For me it is one XOr the other...

          Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

          L Offline
          L Offline
          lewax00
          wrote on last edited by
          #16

          Programming != Real Life ? ;P

          G 1 Reply Last reply
          0
          • G Guirec

            Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

            Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #17

            Guirec Le Bars wrote:

            you have to type

            I often hear complaints about how much typing someone has to do. If you don't like typing, you shouldn't be a programmer. As to dynamic typing, while it's cool and fun, in the long run, the number of problems that I've had to fix that simply wouldn't be there in a strongly typed language all but eliminates for me the benefits. Not to mention that I wouldn't write anything that requires performance in a dynamic language, as these usually cannot be compiled into native assembly code but are either interpreted or are run in a VM. So I'll say it again, but this time metaphorically: If you don't like typing, you shouldn't be a programmer. Marc

            Testers Wanted!
            Latest Article: User Authentication on Ruby on Rails - the definitive how to
            My Blog

            G J 2 Replies Last reply
            0
            • F Freak30

              And what if the proficient programmer misses one of the code paths during his tests? The compiler will surely check them all.

              G Offline
              G Offline
              Guirec
              wrote on last edited by
              #18

              Freak30 wrote:

              The compiler will surely check them all.

              I want one of these! Please let me know which compiler as you are using. A compiler which checks all code path is priceless!

              Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

              Richard Andrew x64R S 2 Replies Last reply
              0
              • M Matthew Faithfull

                I prefer strong typing. I'm happy for those who don't to do their thing without it in JavaScript or WhateverLang(TM) at a minimum safe distance of two parsecs from me. When they do however and then have no idea why their function produces the correct result only on even numbered days of the week don't expect me to come to the rescue, I'm out of distress call range. Yes they will be 'code complete' before I will and yes they will almost certainly write more lines of code per day. However when I have debugged through the use cases for my code I will KNOW that it works and will remain working barring an act of God or at least RMS. The same cannot be said for the script kiddies with their fingers crossed sweating the Q.A. results. ;)

                "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                G Offline
                G Offline
                Guirec
                wrote on last edited by
                #19

                Matthew Faithfull wrote:

                the script kiddies

                I am not sure you get me right... I am talking about experienced programmers not kiddies.

                Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                M 1 Reply Last reply
                0
                • G Guirec

                  Matthew Faithfull wrote:

                  the script kiddies

                  I am not sure you get me right... I am talking about experienced programmers not kiddies.

                  Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                  M Offline
                  M Offline
                  Matthew Faithfull
                  wrote on last edited by
                  #20

                  My point is that experienced programmers don't use 'dynamically' typed languages unless they have to because experience teaches them that it's a bad idea. It doesn't seem like a bad idea at first because it's 'easy' but when you look back at the amount of time spent debugging and the stability/lifetime/readability of the code never mind the quality of the tools available to debug it JavaScript, Python, PHP and all their unholy offspring should have been drowned at birth.

                  "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                  G 1 Reply Last reply
                  0
                  • M Marc Clifton

                    Guirec Le Bars wrote:

                    you have to type

                    I often hear complaints about how much typing someone has to do. If you don't like typing, you shouldn't be a programmer. As to dynamic typing, while it's cool and fun, in the long run, the number of problems that I've had to fix that simply wouldn't be there in a strongly typed language all but eliminates for me the benefits. Not to mention that I wouldn't write anything that requires performance in a dynamic language, as these usually cannot be compiled into native assembly code but are either interpreted or are run in a VM. So I'll say it again, but this time metaphorically: If you don't like typing, you shouldn't be a programmer. Marc

                    Testers Wanted!
                    Latest Article: User Authentication on Ruby on Rails - the definitive how to
                    My Blog

                    G Offline
                    G Offline
                    Guirec
                    wrote on last edited by
                    #21

                    Marc Clifton wrote:

                    If you don't like typing, you shouldn't be a programmer.

                    I am a programmer cause I never liked repetitive tasks, I believe that typing .net/java code is highly repetitive... You might think differently: fair enough. But with all respect I am not judging what you should or should not be or do.

                    Marc Clifton wrote:

                    Not to mention that I wouldn't write anything that requires performance in a dynamic language

                    Many dynamic languages outperform statically typed languages... just have a go with LUA you should not be disappointed. And code is not all... the environment has a lot to do: run some compiled C# in IIS and compare performance with interpreted JS in node or run PHP within ligthy and you might end-up handling more than 3000 requests/sec http://redmine.lighttpd.net/projects/lighttpd/wiki/PoweredByLighttpd[^]... Drop me a note when you achieve the same with csharp :-D

                    Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                    M A J 3 Replies Last reply
                    0
                    • L lewax00

                      Programming != Real Life ? ;P

                      G Offline
                      G Offline
                      Guirec
                      wrote on last edited by
                      #22

                      Somehow I guess :^)

                      Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                      1 Reply Last reply
                      0
                      • G Guirec

                        Marc Clifton wrote:

                        If you don't like typing, you shouldn't be a programmer.

                        I am a programmer cause I never liked repetitive tasks, I believe that typing .net/java code is highly repetitive... You might think differently: fair enough. But with all respect I am not judging what you should or should not be or do.

                        Marc Clifton wrote:

                        Not to mention that I wouldn't write anything that requires performance in a dynamic language

                        Many dynamic languages outperform statically typed languages... just have a go with LUA you should not be disappointed. And code is not all... the environment has a lot to do: run some compiled C# in IIS and compare performance with interpreted JS in node or run PHP within ligthy and you might end-up handling more than 3000 requests/sec http://redmine.lighttpd.net/projects/lighttpd/wiki/PoweredByLighttpd[^]... Drop me a note when you achieve the same with csharp :-D

                        Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #23

                        Guirec Le Bars wrote:

                        I believe that typing .net/java code is highly repetitive.

                        Well, typing itself is repetitive - 30 or so keys, over and over and over again! ;)

                        Guirec Le Bars wrote:

                        just have a go with LUA you should not be disappointed.

                        Interesting. If I can wrap my head around learning yet another language. I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment. ;)

                        Guirec Le Bars wrote:

                        Drop me a note when you achieve the same with csharp

                        Well, is that IIS or C#? (I am rather biased against IIS, I find it's configuration alone to be a total PITA.) Compare that to my only other experience, Rails - you just fire it up. It's so freakin' simple! Marc

                        Testers Wanted!
                        Latest Article: User Authentication on Ruby on Rails - the definitive how to
                        My Blog

                        G 1 Reply Last reply
                        0
                        • G Guirec

                          Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

                          Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                          N Offline
                          N Offline
                          Nemanja Trifunovic
                          wrote on last edited by
                          #24

                          I believe you mean static typing[^], not strong typing. Anyway, this is a controversial topic. I personally prefer static typing for anything bigger than a simple script, but there are people who strongly (and statically :D ) disagree.

                          utf8-cpp

                          1 Reply Last reply
                          0
                          • M Matthew Faithfull

                            My point is that experienced programmers don't use 'dynamically' typed languages unless they have to because experience teaches them that it's a bad idea. It doesn't seem like a bad idea at first because it's 'easy' but when you look back at the amount of time spent debugging and the stability/lifetime/readability of the code never mind the quality of the tools available to debug it JavaScript, Python, PHP and all their unholy offspring should have been drowned at birth.

                            "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                            G Offline
                            G Offline
                            Guirec
                            wrote on last edited by
                            #25

                            Matthew Faithfull wrote:

                            the stability/lifetime/readability

                            stability : hhmmmm... what's that? as soon as you change a line of code somewhere some sort of instability appears right? and if you don't change anything then dynamic is as stable as strongly typed... lifetime: with a new version of the .net framework every year which, each time, brings more syntactic sugar (anonymous delegate, initializers, linq, etc...) then the code written today is extremely different from the one wrote a few years ago. It seems to me that there is less of a trend/fashion style for dynamic languages devs. readability: once again this is related to your seniority level I think. It is pretty easy to write unredable code in .Net/Java.

                            Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                            M 1 Reply Last reply
                            0
                            • M Marc Clifton

                              Guirec Le Bars wrote:

                              I believe that typing .net/java code is highly repetitive.

                              Well, typing itself is repetitive - 30 or so keys, over and over and over again! ;)

                              Guirec Le Bars wrote:

                              just have a go with LUA you should not be disappointed.

                              Interesting. If I can wrap my head around learning yet another language. I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment. ;)

                              Guirec Le Bars wrote:

                              Drop me a note when you achieve the same with csharp

                              Well, is that IIS or C#? (I am rather biased against IIS, I find it's configuration alone to be a total PITA.) Compare that to my only other experience, Rails - you just fire it up. It's so freakin' simple! Marc

                              Testers Wanted!
                              Latest Article: User Authentication on Ruby on Rails - the definitive how to
                              My Blog

                              G Offline
                              G Offline
                              Guirec
                              wrote on last edited by
                              #26

                              Marc Clifton wrote:

                              If I can wrap my head around learning yet another language.

                              no doubt you can...

                              Marc Clifton wrote:

                              I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment

                              go ahead!

                              Marc Clifton wrote:

                              Well, is that IIS or C#?

                              Unfortunately both I guess...

                              Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                              1 Reply Last reply
                              0
                              • G Guirec

                                Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

                                Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                W Offline
                                W Offline
                                W Balboos GHB
                                wrote on last edited by
                                #27

                                Well - for some odd reason the micro-rant remapped in my mind to the following: It's easier to "go" into your diaper than got to the bathroom facilities and taking care of your business with some grace. It may be easier to just do what you want wherever you want to do it but the downside irritations (coding or diapering) from the shortcuts are sure to catch up with you some day. There are some benefits within the price of growing up (?)

                                "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                "As far as we know, our computer has never had an undetected error." - Weisert

                                "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                G 1 Reply Last reply
                                0
                                • W W Balboos GHB

                                  Well - for some odd reason the micro-rant remapped in my mind to the following: It's easier to "go" into your diaper than got to the bathroom facilities and taking care of your business with some grace. It may be easier to just do what you want wherever you want to do it but the downside irritations (coding or diapering) from the shortcuts are sure to catch up with you some day. There are some benefits within the price of growing up (?)

                                  "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                  "As far as we know, our computer has never had an undetected error." - Weisert

                                  "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                  G Offline
                                  G Offline
                                  Guirec
                                  wrote on last edited by
                                  #28

                                  Man, I had to google 'diaper' to understand and finally get to the highly philosophical point of your post... You might be the wise man of the thread : maybe I am simply getting older and am unconsciously ccoming back to my youngest behaviours ;P Boobs, give me boobs!

                                  Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                  1 Reply Last reply
                                  0
                                  • G Guirec

                                    Freak30 wrote:

                                    The compiler will surely check them all.

                                    I want one of these! Please let me know which compiler as you are using. A compiler which checks all code path is priceless!

                                    Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                    Richard Andrew x64R Offline
                                    Richard Andrew x64R Offline
                                    Richard Andrew x64
                                    wrote on last edited by
                                    #29

                                    Guirec Le Bars wrote:

                                    Please let me know which compiler as you are using.

                                    It's called C#

                                    The difficult we do right away... ...the impossible takes slightly longer.

                                    G 1 Reply Last reply
                                    0
                                    • Richard Andrew x64R Richard Andrew x64

                                      Guirec Le Bars wrote:

                                      Please let me know which compiler as you are using.

                                      It's called C#

                                      The difficult we do right away... ...the impossible takes slightly longer.

                                      G Offline
                                      G Offline
                                      Guirec
                                      wrote on last edited by
                                      #30

                                      sorry, if that's a joke I did not get it... C# is the name for a language and your compiler is most probably csc.exe then. this compiler is far (far = 'years away' but that is not further than any other compiler I am aware of) from being able to analyse all possible code paths....

                                      Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                      B 1 Reply Last reply
                                      0
                                      • G Guirec

                                        Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?

                                        Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                        R Offline
                                        R Offline
                                        Ravi Bhavnani
                                        wrote on last edited by
                                        #31

                                        Strong typing allows the compiler to catch errors, which is the cheapest way.  If you ride without training wheels, you should know how to ride or expect to fall.  Preferably both. /ravi

                                        My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                        1 Reply Last reply
                                        0
                                        • G Guirec

                                          sorry, if that's a joke I did not get it... C# is the name for a language and your compiler is most probably csc.exe then. this compiler is far (far = 'years away' but that is not further than any other compiler I am aware of) from being able to analyse all possible code paths....

                                          Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]

                                          B Offline
                                          B Offline
                                          BobJanova
                                          wrote on last edited by
                                          #32

                                          The C# compiler, and any other compiler for a strongly- and statically-typed language, certainly will check the data type of variables through every possible code path. It may not know the value of a variable at a particular point or evaluate all possible paths through the code (that is impossible for anything which takes external input, after all), but it can check the type, and if you make a type related mistake anywhere in your code, it will be caught.

                                          G J 2 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