I want to achieve

I want to efficiently build websites and web services in as few languages ​​as possible.

In that case, I would appreciate it if you could choose which language is better.

-The purpose is both front end and back end.
・ It doesn't mean that anything is fine as long as the number of languages ​​used is small, and it would be great if you could consider development efficiency.
・ I'm not familiar with Web languages, and I'm worried at the stage of arranging language options, so I presented a language such as "If i use such a language, you can develop it most efficiently that you know." I'm grateful if you just get it!

I'm currently creating an iOS app with "SwiftUI", but I'm often keenly aware of the importance of websites and web services, and I'd like to study that as well.

Originally programming came from the Web system,
At that time, there were many languages ​​used such as "HTML", "CSS", "Javascript", "Ruby", and "+ database" (although the former three are not exactly programming languages).
In addition, the amount of code for the implementation contents is disproportionate, and honestly inefficient super-manual labor feeling is undeniably separated from the Web language and moved to the iOS language.

I would like to know if there is a language that can develop Web systems efficiently with few languages.
I'm sorry for the ignorant question.

  • Answer # 1

    If you stick to a few languagesjavascript and sqlYou just have to remember.
    However, it does not mean that less = efficient

  • Answer # 2

    The least is to do everything in HTML

  • Answer # 3

    Isn't it going to take a few lines to solve this question?
    It's been longer, but I focused on clarity.

    The technology surrounding the Web is currently developing.
    Writing HTML and JS separately feels like it's old,
    It was integrated in the form of the JS framework.

    Still, the final conclusion is based on the JS framework,
    Besides, I think that the library with the Web server function made by Node.js will be the mainstream, so
    List these libraries as answers to your question.

    Svelte: JS framework around 3rd place, push super music anyway

    Next.js: Rakuchin, a thing wrapped in a Web server with a routing function added to React

    NuxtJS: Vue.js version of Next.js, also very popular

    Angular: I don't know

    In the old days, when you let the browser load an HTML file,
    Create a hierarchical data tree called a DOM tree when displaying on the screen,
    It is reflected on the screen in the form of rendering.

    JS by rewriting the DOM tree
    I was updating the screen of the web page.

    Since this is a one-way street, "A → B" can be expressed, but
    If you want to express "B → A", you need to rewrite it.
    If you apply "→ B" to the screen that is already in the state of B, the screen will be destroyed.
    This was very painful and was a crying point for a huge amount of code and testing.

    Therefore, the idea is that JS should do everything.
    HTML-like template character string data is completely stored in the variable world.
    Pour it into the "JS framework" and
    After rewriting the variables on JS, we will build a flow to redraw the DOM tree without permission using the latest variable values.

    So JS nowadays just focuses on managing variables,
    It is now possible to represent a robust website with few defects.

    However, these are all the result of accumulating
    The amount of skill to learn has not decreased.

    The JS framework I mentioned earlier
    The convenience of the design is round throwing, so make CSS without permission and do your best! And
    If you don't know HTML, you can't make HTML-like templates.
    If you don't understand JS, you can't create and rewrite variables in the JS framework.

    Well, I don't remember the whole book of the Six Codes, but it's like I want to be an attorney
    I think it is unavoidable because prerequisite knowledge is required in every world.

    Fortunately, as far as the Web front end is concerned,
    Except for JS, I can manage with shallow knowledge.
    Just touch it for the time being and deal with any problems.

    The back end has been hijacked by a PC for security reasons! Because an incident like this will occur
    It's better to get a reliable master or join a company of that type to learn this.

    Now, let's talk about efficiency.
    Unfortunately, it doesn't decrease, but it can improve efficiency, so let's take a look.

    In addition, the amount of code for the implementation content is disproportionate, and honestly inefficient super-manual labor feeling is undeniable.

    That's because HTML is a document format that is all about "consistency."
    In other words, it's an inefficient language.

    At first, you will have to open the editor and edit manually for learning,
    The final conclusion is that HTML is read and written by software such as programs and browsers.
    It should not be handled by humans.

    Node.js, PHP, Ruby, Python, etc ... Well, any language is fine,
    Let's build a mechanism to spit out via them.

    There are some situations where you have to edit with an editor,
    It's a good idea to use a template language that creates HTML, such as slim for Ruby and Pug for Node.js.
    Replacing it with a language that is easy for humans to read and write and making it possible to create an HTML file with a single command will improve efficiency by orders of magnitude.

    The same is true for CSS, because the parent-child structure is an inefficient language that is difficult to express.
    Template languages ​​such as Sass are being developed.

    The situation is different for JS.

    In a language that was popular at the time, Java, Lisp, and Perl were combined with the devil and failed.
    It was a language that was quite difficult to use and behaved strangely.
    And since the implementation is different for each browser, if the behavior and methods that can be used are different, the hell of this world ...

    In addition, JS is a language that specializes in dynamically editing pages displayed in a browser.
    It was a language that could only encourage page changes by rewriting the HTML (DOM tree) later.

    However, there is a movement to unify the JS specifications called ECMAScript, and reforms will progress significantly.
    In addition, modern syntax such as Ruby and Python is adopted one after another.
    JS will change dramatically around 2015.

    The appearance of Node.js is also big.
    Bring only the rules of JS language, give a library that controls reading and writing of files created in C ++, etc.
    Node.js, which can be used as a general-purpose script like Ruby and Python, has appeared.

    As a result, JS can write code as modern as Ruby, and
    JS uses the framework of Node.js to create a CLI library like Ruby,
    You can now write code on your machine and become a web server.

    So, first of all, it's Node.js.
    You can also make a convenient command line tool by itself, so
    Work on your PC should be much faster.