JavaScript ඉගෙන ගන්නකොට

ජොසී

Well-known member
  • May 29, 2014
    5,206
    4,453
    113
    Padavi Sripura
    Js is a scripting language bn...its a turin complete language :yes:

    scripting language ekak kiyanneth program language ekak ma thamai :yes: ekama wenasa interpreter ekak hari host environment ekak hari uda thamai eka run wenne..python, js okkoma ehemai :yes:

    Theory igena ganna ekath watinwa...practically karapuwama wenne godak holes ithuru wenawa :dull: e holes tika wahaganna theory aniwa igena ganna one
    ඔව් ඒක ඇත්ත. නමේම තියනවනෙ Script කියලා. 😁
    මට නම් ගූගල් දෙයියගෙන් අහපු ගමං කියනවා programming language එකක් කියලා.

    99-D5455-D-1-B4-A-41-D6-AB25-80-FBC06-E0936.jpg


    Because you can so...
    Is JS in your name referred to JavaScript?
    ------ Post added on Jan 20, 2023 at 9:06 PM
     
    • Like
    Reactions: kolavari

    Prof GHOST

    Junior member
  • Jan 18, 2018
    76
    87
    18
    Any application that can be written in JavaScript, will eventually be written in JavaScript.”
    Rule 34 of programming




    JavaScript is generally considered an interpreted language, but modern JavaScript engines no longer just interpret JavaScript, they compile it.

    This has been happening since 2009, when the SpiderMonkey JavaScript compiler was added to Firefox 3.5, and everyone followed this idea.

    JavaScript is internally compiled by V8 with just-in-time (JIT) compilation to speed up the execution. source
     
    • Like
    Reactions: 3rd

    visalbro

    Well-known member
  • Jun 4, 2017
    15,974
    17,133
    113
    panadura
    Source code itself produce Binaries through Compilation or interpretation

    Node Js is an environment where runs top of V8 engine.
    These two are different
    මොකක්ද ඔය v8 engine කියන්නෙ. JVM කියන්නෙ මොකක්ද?
     
    • Like
    Reactions: 3rd

    3rd

    Active member
  • Jan 20, 2023
    235
    266
    43
    මොකක්ද ඔය v8 engine කියන්නෙ. JVM කියන්නෙ මොකක්ද?
    JVM කියන්නෙ නම්, Java Virtual Machine නෙ. ජාවා දුවන සපත්තුව.
    V8 කියන්නෙ ඒ වගේ Node.JS දුවන එක මං හිතන්නෙ.
    මට තේරෙන විදියට කීවෙ.
     

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    scripting language ekak kiyanneth program language ekak ma thamai :yes: ekama wenasa interpreter ekak hari host environment ekak hari uda thamai eka run wenne..python, js okkoma ehemai :yes:
    Oka always Yes and NO prashnayak ne. no one can answer
    So mage view eka thama JS kiyanne script hadana tool ekak kiyana eka

    මොකක්ද ඔය v8 engine කියන්නෙ. JVM කියන්නෙ මොකක්ද?
    හරි මෙන්න මේකයි දැන් වෙබ් එක හොයාගත්ත මුල්ම කාලේ HTML විදිහට එන රෙස්පොන්ස් එක විෂුවල් එකක් විදිහට දුන්නේ නෙස්කෙප් නවිගටර් එක වගේ බ්‍රව්සර්. ඒවා බොහොම ප්‍රථමික ඒ කියන්නේ දයනමික් ගතියෙන් සැහෙන්න අඩු දේවල්. පස්සේ තමා ඔය V8 කියන එන්ගින් එක හොයාගත්තේ. එකෙන් කරන්නේ මේකයි

    සාමාන්යෙන් අපි වෙබ් සයිට් එකක් url එක ගහලා එන්ටර් කලාම get රික්වෙස්ට් එකක් යනවා. එකෙන් එන්නේ පියෝ html කෝඩ් එකක්. දැන් අපිට පුළුවන් වෙන්න ඕනේ එක කියවලා එකේ තියන දේවල් ඉෂුවලයිස් කරන්න. අන්න එකට තමා ඔය වගේ එකක් තියෙන්නේ. එකේදී ඉමේජ් වගේ ඒවා ලින්ක් තියෙන්නේ ඒවා ඇදලා අරන් පෙන්නන ඕනේ. ඊළගට බටන් එකක් ක්ලික් කලාම එකට අදාළ ඉවෙන්ට් වැඩ කරන්න ඕනේ.අන්න ඒ ටික කරන්නේ ඔය එන්ජින් එකෙන් ..... මේ වගේ දේවල් කරන්න කියල එන්ජින් එකට කියන්නේ අපි js වලින්. සෝ මුලිකව වෙබ් බේස් js රන් වෙන්නේ බ්‍රව්සර් එකේ.

    දැන් මේකම සර්වර් එකක් විදිහට පිටට අරන් තියනව එකට කියන්නේ node js කියල. උඩ සින් එක ගත්තොත් අපි js වලින් ලියන දේ රන් කරන්නේ වෙබ් බර්ව්සර් එක. එක නිසා තම වෙබ් බේස් js වල ඉදන් ඔපරේටින් සිස්ටම් එකේ කිසිම දෙකට අත තියන්න බැරි. සර්වර් එකේදිත් වෙන්නේ js අර V8 එන්ජින් එක උඩම රන් වෙන්නේ. V8 එන්ජින් එක තමා ඔපරෙටින්ස් සිස්ටම් එක එක්ස්පොස් කරලා දෙන්නේ. මේවා ජාවා හෝ c++ වලින් සැහෙන්න වෙනස් වෙන්නේ ඕක නිසා
    ------ Post added on Jan 20, 2023 at 9:30 PM
     

    Prof GHOST

    Junior member
  • Jan 18, 2018
    76
    87
    18
    උඩ සින් එක ගත්තොත් අපි js වලින් ලියන දේ රන් කරන්නේ වෙබ් බර්ව්සර් එක. එක නිසා තම වෙබ් බේස් js වල ඉදන් ඔපරේටින් සිස්ටම් එකේ කිසිම දෙකට අත තියන්න බැරි. සර්වර් එකේදිත් වෙන්නේ js අර V8 එන්ජින් එක උඩම රන් වෙන්නේ. V8 එන්ජින් එක තමා ඔපරෙටින්ස් සිස්ටම් එක එක්ස්පොස් කරලා දෙන්නේ. මේවා ජාවා හෝ c++ වලින් සැහෙන්න වෙනස් වෙන්නේ ඕක නිසා
    ------ Post added on Jan 20, 2023 at 9:30 PM
    JAVA වලත් OS එක Expose කරන්නෙ JVM එක.
    ඉතින් කොහොමද මේ 2 වෙනස් වෙන්නෙ?
     
    • Like
    Reactions: HAneo

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    JAVA වලත් OS එක Expose කරන්නෙ JVM එක.
    ඉතින් කොහොමද මේ 2 වෙනස් වෙන්නෙ?
    Very good question

    මේ ප්‍රශ්නෙට දන්නා විදිහට තමා උත්තර දෙන්න වෙන්නේ. මම ජාවා කාරයෙක් නෙමේ.
    දන්නා විදිහට ජාවා ෆයිල් එකක් කම්පයිල් කරනකොට එක ක්ලාස් ෆයිල් එකකකට හැරෙනවා. එක බයිනරි ෆොර්මැට් එකේ තියෙන්නේ. දැන් මේ ෆයිල් එක රන් කරන්න JVM එකෙන් තමා ඉන්ස්ට්‍රුක්ෂන් සෙට් එක CPU එකට දෙන්නේ

    First, the source ‘.java’ file is passed through the compiler, which then encodes the source code into a machine-independent encoding, known as Bytecode. The content of each class contained in the source file is stored in a separate ‘.class’ file. While converting the source code into the bytecode,
    Take a look at this Link

    මචන් වෙබ් බ්‍රව්සර් එකක ලියන js ස්ක්‍රිප්ට් එකක් එක උඩ දුවන්නේ එක අර විදිහේ බයිනරි කන්වර්ශන් එකකක් වෙන්නේ නැ . නිකන් කමාන්ඩ් ප්‍රොම්ප්ට් එකේ කමාන්ඩ් ගහනවා වගේ වැඩක්. සෝ ඒ දෙක වෙන්ස්ස්
     

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    mulinma C patan gani ooka iwara unata passe krnna.
    මේ ස්කන්දිනෙවියන් රටවල් වල C++ වලට හොද ඉල්ලුමක් තියනවා. මම .NET කොච්චර කලත් මාව ගත්තේ C++ වලින්. කරන්න පුළුවන් වැඩ ගොඩයි. හැබැයි C++ කරනවා නම් බැක් අප් එකක් ලෑස්ති කරගන්න ඕනේ . මොකද අරක නැත්නම් මේකෙන් CV එක හැදුව දැම්මා. මොක උනත් එකයි
     
    • Like
    Reactions: hecker_thama

    Prof GHOST

    Junior member
  • Jan 18, 2018
    76
    87
    18
    මෙහෙමයි,
    lets consider a hello world program,

    if we compile it using a language like c, c++, rust or go
    it will generate a true binary that can be executed without any external engines/ virtual machines.

    ඒත් java compiler එකෙන් generate කරන java bytecode එක මේ විදිහට execute කරන්න බෑ JVM එක නැතුව.
    මේක නිකන් JAVA කියන language එක JVM එකට understand කරන්න පුලුවන් Performance optimized language එකක් ("Java Bytecode")
    විදිහට convert කරන එක තමයි වෙන්නෙ.

    ඊට පස්සෙ JAVA Virtual Machine එක runtime එකේදි මේ "JAVA Bytecode" eka Native Machine Code විදිහට ආපහු compile වෙනව.
    (මෙතනදි වෙන performance optimization ගොඩක් තියනව, ඒත් high level විදිහට මේක තමයි වෙන්නෙ)


    දැන් අපි javascript ගැන බලමු.

    extra -> මේකටත් runtime එකට කලින් compile කරනව කියන්න ඔනිමනන් අපිට Typescript compiler එකෙන් Javascript generate කරන එක ගන්න පුලුවන්
    ( without performance optimizations ). JAVA -> JAVA BYTECODE , TYPESCRIPT -> JAVASCRIPT
    මෙතනදි javascript කියන්නෙ V8 engine එකට understand කරන්න පුලුවන් language එක.


    JVM eka වගේම V8 engine එකත් ඒකට එන JAVASCRIPT code එක ආපහු native machine code විදිහට compile කරනව.
    (මෙතනදිත් internal optimization ගොඩක් වෙනව. ඒ වගේම compilation and interpretation technique 2 ම use වෙනව.)



    before V8 era,
    js කියන්නෙ නිකන්ම line by line intepret කරල execute කරපු Scripting Language එකක්.


    ඒත් Modern Javascript run වෙන විදිහ සම්පුර්නයෙන්ම වෙනස්.

    JAVA programming language එකක් විදිහට consider කරනව නන් Javascript කියන්නෙත් Programming Language එකක්
     
    • Like
    Reactions: thomian

    hecker_thama

    Well-known member
  • Dec 27, 2022
    6,764
    6,977
    113
    මේ ස්කන්දිනෙවියන් රටවල් වල C++ වලට හොද ඉල්ලුමක් තියනවා. මම .NET කොච්චර කලත් මාව ගත්තේ C++ වලින්. කරන්න පුළුවන් වැඩ ගොඩයි. හැබැයි C++ කරනවා නම් බැක් අප් එකක් ලෑස්ති කරගන්න ඕනේ . මොකද අරක නැත්නම් මේකෙන් CV එක හැදුව දැම්මා. මොක උනත් එකයි
    dan ape campus eke C iwara kara examuth iwarai, python socket programming ada patan gaththa. C++ karana ekada hoda meka karana ekada. cybersec walata C, C++ oone kiyala dannawa pythonuth eewagema. HND eke intern eka godak durata networking wei