• VonReposti@feddit.dk
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    4 months ago

    I think you’ll like Ruby. It has mostly done away with braces and code blocks end with end, e.g.

    def create
      unless admin redirect_to new_session_path and return
      
      @product = Product.new product_params
    
      if @product.save
        flash[:success] = "New product has been created!"
        redirect_to edit_product_path(@product) and return
      else
        flash[:error] = "Something went wrong!
        render :new
      end
    end
    

    This is working code that I simplified a bit from an old project of mine.

    • Caveman@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      4 months ago

      Ruby syntax is nice although I prefer python way of enforcing indentation instead of adding "end"s. Personally I just want a statically typed language with enforced indent as syntax.

      • VonReposti@feddit.dk
        link
        fedilink
        arrow-up
        7
        ·
        4 months ago

        Funny, the forced indentation is what I hate about Python. If you think a missing semicolon can be hard to catch, don’t ever think about a missing whitespace :p

        The end keyword really isn’t a big deal for me. I find it to be a good way to easily spot the end of a method. But if you wouldn’t like it I’d still find it a good compromise to avoid syntax issues due to whitespace.

    • barsoap@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 months ago

      That’s just Algol instead of B. Most languages use the one or the other, then there’s sexpr-based languages (lisp, scheme), lua (technically Algol but not needing semicolons while also not needing newlines so it’s definitely special), and layout syntax (Haskell, or, if you want a bad implementation, python).