ADM introduction: A ranty tranny, a developer, an abuse survivor

Discussion in 'Howdy there!' started by ADigitalMagician, Feb 24, 2015.

  1. seebs

    seebs Benevolent Dictator

    I also feel I should point out:

    I really like Ruby, and I basically don't get along with Python.

    I feel that if ADM and I can be friends, there is hope for peace in this world.
     
    • Like x 1
  2. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    I have actually found that Ruby and Python exist on some weird toggle in which you can like one, or the other, or neither, but never both.

    I literally have never met a person who likes both.
     
    • Like x 1
  3. Starcrossedsky

    Starcrossedsky Burn and Refine

    This has been very much my experience as well, so I'll cosign it.

    HI OP I've seen you around a lot, though I mostly lurk. I tend to like your thoughts, though.
     
    • Like x 1
  4. siveambrai

    siveambrai Negative Karma Engine nerd.professor.gamer

    I am going to try to be the first person to like both! Cause Ruby is on the list after Python. Programming languages are collected like pokemon, right?
     
    • Like x 2
  5. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    More or less, actually.
     
    • Like x 1
  6. Morven

    Morven In darkness be the sound and light

    It's good to learn lots of languages, because you get to see the common threads, how different languages encourage different ways to attack problems, and stuff like that. If you do coding for a living, too, it's good to keep learning new things and not let your learning muscles atrophy, because eventually you'll need to learn something new and the best way to both be sure you still can, and to convince others you can, is to never stop.

    At the same time, it's good to dig in deep in a favorite or useful language and learn its intricacies and idioms, because depth of knowledge is also useful and you can work faster and more effectively.
     
  7. albedo

    albedo metasperg

    My programming background is mostly Java/C-family/F#, I am a baby programmer. So... What is it about Ruby that you don't like / Python that you like?

    I've been told I should learn Python, but I'm being slow about it. Too much on the research list! And now we all know why I stopped sperging about human language, I've been packing my brain full of programming knowledge and I don't have enough memorization spoons to learn human languages too. =_= Or something.
     
  8. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    One of the things I like pointing at, is I'm more or less exclusively a Python developer, but learning to write Go taught me some ideas that got me improving my Python code immensely.

    And this is why I'm mostly exclusively a Python dev.
     
  9. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    So, when you're new, Python and Ruby seem to share a lot. They're dynamically typed interpreted languages. They're both related to human language. They both have fairly strong libraries.

    Where my interaction with Ruby breaks down is that while it's like Python and they are related to how code interacts with people, they've approached that relationship from opposite sides. There's a running joke among Python developers (And people who just know Python) that you can write pseudocode that is valid Python. This is more true for me where my brain immediately writes in Python syntax so my pseudocode and my python code look very similar. This is actually MORE true in Ruby. And that's actually a problem.

    Python approaches the relationship with human language from a readability standpoint: Because code will (usually) be read many more times than it will be written, it gives up a little writing speed to make maintenance easier.

    Ruby comes at it from the opposite way: The writer should be able to speak Ruby however is most comfortable, and it should work. I can literally dump ideas into the interpreter and have them function the way my brain thinks they should. Which is awesome as far as writing goes. But give me a week separation? I can't read my OWN code, let alone anyone else's. Basically, ruby encourages dozens of minor dialects of the language. And why it's fascinating, it's absolutely a pain.

    When you get there, I'm totally up for geeking about Python. I LOVE researching all the weird shit that Python does. And yelling about some of the maintenance teams. Because so much stupid once in a while. (This is true of all open source libraries.)
     
    • Like x 1
  10. Morven

    Morven In darkness be the sound and light

    I love Go even though as a young-ish language it still has its rough edges. Scarcely touched Python, and I wonder if I'd like it. I do not like Ruby; it feels like an inferior Perl to me.

    I'm one of the breed whose first programming language was 68k assembly …
     
  11. albedo

    albedo metasperg

    That sounds fascinating; I'll definitely bounce about it when I get to it. :D Right now, I'm trying to pick up more about Solr, the database system we use at work, because it's hideously complicated. And, uh, web usability and F# tricks and ARR optimization and MY READING LIST IS REALLY LONG.

    I've been programming professionally for about a year and a half, mostly building/maintaining a site in .NET, with F# data-wrangling on the back-end. Learned in Java at school, though. And they STILL made us learn assembly.
     
  12. winterykite

    winterykite Non-newtonian genderfluid

    Oh hey, programming stuff.

    Looks like the language I'll tackle after Ruby will be Python, just to see what the fuss is about ::D (I'm minoring in computer science and the language is Java, but I still need to make the jump to User Interface, and also how to and which files to access)
     
  13. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    Pretty sure Java can do all of that?

    And if it can't, HTML5 UIs are super easy and local webservers are awesome.
     
  14. winterykite

    winterykite Non-newtonian genderfluid

    I know Java can do all of that, but somehow everyone else just sort of can do that and no one ever taught me. All I can currently do is make .java files that I can totally run in eclipse or bluej, but... yeah ::/
     
  15. Morven

    Morven In darkness be the sound and light

    I created a programming thread in the General Chatter subforum, since there seems to be interest in it!
     
    • Like x 3
  16. albedo

    albedo metasperg

    Yeah, I found that computer science coursework wasn't very helpful. :P I would strongly suggest getting an internship if you can; most practical CS stuff still seems to be learned on the job, and entry level programming jobs can be tough to find.
     
  17. Seconded. My internship has basically rendered a lot of my CS education so far worthless b/c I learned it faster and better on the job.
     
  18. seebs

    seebs Benevolent Dictator

    My issues with Python are mostly that, to me, it's not more readable. And in particular, there's a lot of stuff that just ends up feeling different-to-be-different. Also I've had nearly uniformly bad experiences with the community, and I am at this point pretty much fully convinced that the whitespace thing was a really interesting experiment which failed. Or at least, which failed for me, and has produced a lot of code reliability problems.

    The essential selling point of whitespace-for-control is that it's impossible for the indentation not to reflect the code's behavior. But while that's true, it turns out not to be useful, because what I really care about is whether behavior matches intent, and what I've found is that I see errors between intent and behavior about as often in Python as in anything else, and perhaps moreso. Because, in a language with block markers, you can see if something got indented or outdented more than you intended, because the block markers are misaligned somehow. In Python, accidentally indenting or outdenting one line too many may or may not produce any diagnostics, but will change behavior.

    But... I think at this point the evidence is that this is a personal-alignment thing, where some people align to how Python works, and other people align to how other things work. I constantly trip over things in Python because its idioms are not aligned with how I think, with some rare exceptions. Ruby idioms tend to be more suitable to how my brain works, even though I'm not super happy with some of the syntax. But my chances of writing a thing correctly in it are way higher, and my chances of reading the code later are way higher.

    Conclusion: Try a few things, see what suits you, don't expect to agree with everyone else. Heck, I still write in plain old C more than just about anything else!
     
    • Like x 1
  19. rax

    rax raxolotls gonna rax a lot

    I like both --- I prefer Python's syntax and structure but I find Ruby to have a better set of tools for web development, so I've used both depending on the project. :) (I'm also not a full-time developer, so it's possible that if I coded more I'd settle into one.) Also, hi!
     
  20. ADigitalMagician

    ADigitalMagician The Ranty Tranny

    • Like x 2
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice