มันเป็นไปได้ที่จะรวมภาษาการเขียนโปรแกรม?


27

ฉันได้เขียนโปรแกรมมาระยะหนึ่งแล้วฉันได้เขียนโปรแกรมพื้นฐานบางอย่างและฉันต้องการเรียนรู้ต่อไป ฉันมาถึงจุดที่คุณไม่รู้ว่าจะเรียนต่อไปอย่างไรและฉันต้องการถามคำถามเกี่ยวกับความอยากรู้ของฉันเอง

คำถามสั้น ๆ คือถ้าคุณสามารถรวมภาษาการเขียนโปรแกรมหลายภาษาเป็น 1 ผล? ตัวอย่างเช่นรหัสนี้สามารถเป็นไปได้?

<html>
cout << "Hello world!";
</html>

หรือ

import java.util.Scanner;
cout << "Insert a number from 1 to 10";
Scanner n = new Scanner(System.in);
System.out.println("The value you entered was" +n.newLine());

นี่เป็นคำถามที่โง่ แต่ฉันไม่รู้ว่าเป็นไปได้หรือไม่ดังนั้นฉันจึงถาม ในคำถามนี้ฉันสังเกตเห็นว่าเขาใช้รหัส Python ในรหัส html หากตัวอย่างข้างต้นของฉันเป็นไปไม่ได้เขาจะทำอย่างไร


12
เพื่อให้การทำงาน (โดยไม่ทำให้คนบ้า) ต้องมีกฎเข้มงวดอย่างน้อยเกี่ยวกับวิธีการโต้ตอบและส่วนใดที่ควรประมวลผลเป็นภาษาใด

6
มันจะใช้เวลาหนึ่ง hellova lexer / parser
ชาดแฮร์ริสัน

2
@Brian Lua ถูกฝังอยู่ในที่ล่ามที่เชื่อมโยงกับรหัส C หรือ C ++ บางส่วนและใช้ในการเรียกใช้รหัส Lua ที่เก็บไว้ในสตริงหรือไฟล์ภายนอกอาจเปิดเผยวัตถุ C / C ++ กับรหัส Lua Lua ไม่ได้ (ไม่บ่อยถ้าเลย) "ฝัง" ในแง่ของคำถามนี้

2
มันเหมือนกับการสร้างตัวอักษรห้าตัวแต่ละตัวมีสัญลักษณ์แตกต่างกันสำหรับตัวอักษร 26 ตัวและผสมเข้าด้วยกันในหนังสือเล่มเดียว: ไร้สาระระคายเคืองและซ้ำซ้อน
ThomasX

7
ฉันคิดว่าคนลืมชัดเจนที่สุด (และเฉพาะชีวิตจริงที่ถูกต้องที่ฉันนึกถึง) ใช้กรณีของ "การรวมภาษา" - ASM แฟรกเมนต์ในโปรแกรม C / C ++โดยทั่วไปด้วยเหตุผลด้านประสิทธิภาพ
TC1

คำตอบ:


43

ตัวอย่างแรกของคุณเป็นไปได้ โดยปกติสิ่งต่าง ๆ จะเกิดขึ้นใน PHP (และภาษาอื่น ๆ ที่เกี่ยวข้องกับการเขียนโปรแกรมเว็บ) ดังนี้

<HTML>
<?PHP
call_some_php_function(1,2,"a","b"); /* This is may return nothing, a text string, or actual HTML markup code */
?>
</HTML>

จุดสำคัญที่ควรทราบเกี่ยวกับตัวอย่างนี้:

  • HTML ไม่ใช่ภาษา progamming เป็นภาษามาร์กอัป
  • PHP และ HTML และไม่ได้ดำเนินการ / ตีความในสถานที่เดียวกัน: รหัส PHP จะถูกดำเนินการโดยล่าม PHP ที่ทำงานบนเซิร์ฟเวอร์และผลที่ได้คือ "ฉีด" ลงใน HTML โดยรอบ จากนั้นหยดทั้งหมดจะถูกส่งไปยังไคลเอนต์ / เบราว์เซอร์ซึ่งแสดงผล HTML ที่สมบูรณ์

ตัวอย่างที่สองของคุณดูเหมือนจะเป็นการรวมกันของ C ++ และ Java เป็นไปได้ที่จะมีการคอมไพล์โมดูลที่เขียนในภาษาต่าง ๆ พูดคุยกัน แต่การรวม Java และ C ++ ในไฟล์ต้นฉบับเดียวกันจะทำให้เกิดความสับสนและยากมาก: คอมไพเลอร์จะรู้ได้อย่างไรว่างบใดเป็น Java และ C ++?

ฉันคิดว่าในทางทฤษฎีคุณสามารถเขียนตัวแปลภาษาพิเศษ / ตัวประมวลผลล่วงหน้าด้วยตัวบ่งชี้ "ภาษา" เช่น:

Java
{
    import java.util.Scanner;
}
C++
{
   cout << "Insert a number from 1 to 10";
}
Java
{
    Scanner n = new Scanner(System.in); //Actually, this line *could* be a C++ line - it's hard for me to tell just by looking at it.
    System.out.println("The value you entered was" +n.newLine());
}

แต่ฉันก็ไม่แน่ใจว่าคุณจะได้ประโยชน์อะไรจากการทำสิ่งนี้

นอกจากนี้สภาพแวดล้อมแบบไฮบริดของภาษานี้จะจัดการกับคุณสมบัติภาษาที่ไม่เข้ากันระหว่างสองภาษาได้อย่างไร


ตัวอย่างทุกคนลืมเรื่อง (รวมทั้งตัวเอง) CUDAดังนั้นโปรดอย่าลังเลที่จะเพิ่มเข้าไปในคำตอบของคุณ: มันเป็นการผสมผสานระหว่างสองภาษา C ที่แตกต่างกันมากโดยมีฟังก์ชั่นบางอย่างที่คอมไพล์แล้วสำหรับอุปกรณ์ (GPU) และบางส่วนยังคงอยู่บนโฮสต์
SK-logic

7
ไม่ใช่เรื่องแปลกที่จะมี JavaScript เช่นเดียวกับ HTML และ PHP ในหน้าเดียว น่ากลัว แต่ไม่ใช่เรื่องผิดปกติ
Michael Borgwardt

1
ไม่คุ้นเคยกับ PHP แต่รหัส ASP.NET (ไม่ว่าจะเป็น C # หรือ VB.NET) จะสร้าง HTML และ JavaScript และมักจะฝัง JavaScript ในหน้า. aspx การแยกโดยรวมมักอ้างเป็นอุดมคติ แต่ภาพรวมอย่างรวดเร็วของคำถามเกี่ยวกับการติดแท็ก ASP.NET ดังนั้นจะทำให้คุณทราบว่าซับซ้อนแค่ไหน
sq33G

@ sq33G - ASP.NET สร้างรหัส HTML คุณสามารถใส่จาวาสคริปต์ได้หากต้องการ ASP.NET แน่นอนว่าไม่ใช่สิ่งที่ผู้เขียนอธิบายว่าต้องการจะทำ
Ramhound

ฉันจะนำ PHP / HTML / JS ขึ้นมาในเอกสารเดียวถ้าไม่มีใครอื่น
Ben Brocka

19

คำตอบสั้น ๆ

ไม่ได้จริงๆ


คำตอบยาว ๆ

ฝัง

โดยทั่วไปแล้วไฟล์ต้นฉบับไฟล์เดียวจะมีรหัสสำหรับภาษาการเขียนโปรแกรมเดียวเท่านั้น เป็นเรื่องแปลกที่จะรวมหลายภาษาไว้ในไฟล์เดียวด้วยเหตุผลสองประการ:

  • การแยกภาษาที่แตกต่างกันทางไวยากรณ์หลายภาษาในครั้งเดียวนั้นยากมาก (ถ้าไม่เป็นไปไม่ได้เลย)
  • ภาษาที่แตกต่างกันรักษาโปรแกรมที่แตกต่างกัน แนวคิดของฟังก์ชัน Haskell นั้นแตกต่างจาก C ++

การเชื่อมโยง

ภาษาการเขียนโปรแกรมที่แตกต่างกันซึ่งใช้ร่วมกับอินเตอร์เฟสทั่วไปของไบนารีแอปพลิเคชันอาจถูกรวมเข้าด้วยกันเพื่อสร้างไฟล์ปฏิบัติการหรือไลบรารีเดียว การใช้ลายเซ็นของทั้งสองภาษาที่มีอยู่ในกันมักจะใช้เวลาน้อย แต่มีเครื่องมือที่ช่วยให้กระบวนการง่ายขึ้น

polyglots

รหัสหลายภาษานั้นถูกต้องและเทียบเท่าในมากกว่าหนึ่งภาษา หน้า 404 ของ Stack Overflowมีหนึ่งโปรแกรมดังกล่าว:

สแต็คล้นล้น 404 หลายภาษา

สิ่งนี้พิมพ์ "404"ใน Python, Perl, Ruby, C, Brainfuck และ Befunge

ข้อสรุป

ภาษาที่ผสมไม่ค่อยภายในไฟล์และเมื่อพวกเขาจะเป็นสำหรับการหัวเราะ ผู้คนก็พยายามหลีกเลี่ยงการมั่วสุมภาษาภายในโปรเจ็กต์เพราะมันมีความยุ่งยากเป็นพิเศษ ดังนั้นในขณะที่มันเป็นไปได้ในทางเทคนิคการผสมภาษาที่แตกต่างกันไม่ได้เป็นเรื่องธรรมดา


ฉันไม่เห็นทับทิมที่นี่ ...
เจสันลูอิส

@JasonLewis ฉันไม่รู้ Ruby แต่โพสต์นี้บอกว่ามันประเมินบรรทัด # 4
Maxpm

9
ภาษาไม่ได้ปะปนกันมาเสมอ คอมไพเลอร์ C ส่วนใหญ่อนุญาตให้คุณผสมแอสเซมบลีและซี ย้อนกลับไปในยุคแปดสิบหนึ่งในภาษาถิ่นพื้นฐานที่ดีที่สุดในเกมคือ BBC Basic ของ Acorn อนุญาตให้คุณผสมการชุมนุม 6502 และนั่นเป็นคุณสมบัติที่ต้องการมาก แน่นอนมันทำให้ผู้ใช้บีบีซีหัวเราะ แต่ทุกคนสวยมากอื่นร้องไห้โดยเฉพาะอย่างยิ่งคนที่มีการประกอบ 6502 รหัสเครื่องด้วยมือและติด opcodes ดิบในโปรแกรมของพวกเขาในDATAงบ ไม่ว่าฉันจะขมขื่นหรืออะไรก็ตาม noooo
Alexios

1
@ SK-logic SQL เป็นภาษาคิวรีที่มีโครงสร้างไม่ใช่ภาษาโปรแกรม
Maxpm

1
หนึ่งในสิ่งที่น่าเศร้าเกี่ยวกับการพัฒนาซอฟต์แวร์ที่ทันสมัยคือตอนนี้แอพหลายภาษายากขึ้นมาก ย้อนกลับไปในสมัยของ DOS เกือบทุกอย่างถูกคอมไพล์ไปยังไฟล์อ็อบเจ็กต์เดียวกันและใช้พารามิเตอร์เดียวกันที่ผ่านการประชุม มันง่ายมากที่จะเชื่อมโยงพวกมันเข้าด้วยกัน ทุกวันนี้ไม่มาก ...
Brian Knoblauch

7

ใช่มันเป็นไปได้แน่นอน ไม่ใช่วิธีที่คุณจินตนาการไว้ มีบางภาษาที่สร้างขึ้นเพื่อวัตถุประสงค์นี้โดยเฉพาะ

ในทางปฏิบัติมันอาจมีประโยชน์มากในการผสมภาษาเฉพาะโดเมนจำนวนหนึ่งเข้ากับภาษาโฮสต์เดียว ไม่จำเป็นต้องมีการผสมภาษา "วัตถุประสงค์ทั่วไป" สองภาษาหรือมากกว่าเข้าด้วยกันในไฟล์ซอร์สโค้ดแม้ว่าคุณจะมักจะพบโครงการที่เขียนทั้งสองพูด VB.NET และ C # ด้วยภาษาที่แตกต่างกัน

สำหรับ HTML มันเป็นเพียงภาษามาร์คอัป คุณมักจะพบรหัสฝั่งเซิร์ฟเวอร์ (เช่นใน VB.NET), มาร์กอัป HTML และรหัส Javascript ฝั่งไคลเอ็นต์ที่รวมกันเป็นไฟล์ต้นฉบับเดียวแม้ว่าจะถือว่าเป็นวิธีปฏิบัติที่ไม่ดีของหลาย ๆ คนก็ตาม


7

ซึ่งมักเรียกว่ารหัสหลายภาษา - มีตัวอย่างสนุก ๆ / บ้าถ้าคุณไปตามลิงค์หรือในที่อื่น ๆ บนเว็บ สิ่งเหล่านี้ส่วนใหญ่เป็นเพียงเพื่อความสนุก / เพื่อพิสูจน์ว่าเป็นไปได้

อย่างจริงจังยิ่งขึ้นมีตัวอย่างในชีวิตจริงมากมายที่สามารถผสมผสานภาษาต่าง ๆ ได้สองภาษาหรือมากกว่า:

  • เว็บเทมเพลต - ภาษาเช่นไฟล์ PHP หรือไฟล์ JSP ผสมรหัสเป็น HTML ความคิดเห็นที่แตกต่างกันอย่างกว้างขวางว่านี่เป็นความคิดที่ดีหรือไม่
  • ภาษามาโคร - บ่อยครั้งที่ภาษามาโครผสมกันในไฟล์ต้นฉบับเช่นมาโครตัวประมวลผลล่วงหน้า C / C ++ นอกจากนี้ยังมีกรณีที่น่าสนใจเช่น Lisp ที่ภาษาแมโครเป็น Lisp (ความแตกต่างเพียงอย่างเดียวคือรหัสรันในเวลาที่คอมไพล์หรือรันไทม์)
  • DSLs - บ่อยครั้งที่มีการกำหนดภาษาเฉพาะของโดเมนเพื่อช่วยแก้ปัญหาเฉพาะอย่างได้ผลซึ่งฝังอยู่ในซอร์สโค้ดของภาษาอื่น นี่คือตัวอย่างของDSL ที่สวยงามสำหรับ SQLซึ่งสามารถฝังในโค้ด Clojure
  • การเขียนสคริปต์ - ภาษาไดนามิกบางภาษามีประโยชน์อย่างยิ่งสำหรับสคริปต์สั้น ๆ และได้รับการออกแบบให้ฝังในซอฟต์แวร์ที่เขียนด้วยภาษาอื่น ตัวอย่างสคริปต์Groovyนั้นง่ายต่อการฝังไว้ภายในแอปพลิเคชัน Java
  • โครงการพูดได้หลายภาษา - บางครั้งมันก็สมเหตุสมผลที่จะใช้หลายภาษาเพื่อใช้ประโยชน์จากความสามารถที่แตกต่างกันของแต่ละภาษา ตัวอย่างเช่นJVMรองรับหลายภาษาที่สามารถทำงานร่วมกันได้อย่างโปร่งใสดังนั้นคุณอาจผสม Java (สำหรับ OOP และความเร็วแบบคงที่) กับ Clojure (สำหรับการพัฒนาเชิงโต้ตอบการทำงานพร้อมกันและการเขียนโปรแกรมการทำงาน) โครงการดังกล่าวยังคงแยกภาษาที่แตกต่างกันออกเป็นไฟล์ / โฟลเดอร์ที่แยกต่างหาก แต่จะถูกรวบรวมในเวลาเดียวกันเพื่อสร้างแอปพลิเคชันเดียว

6

มีความเป็นไปได้ที่จะผสมผสานภาษาต่างๆโดยใช้Perl Inlineซึ่งอนุญาตให้เขียนสคริปต์ Perl และแทรกส่วนของโค้ดที่เขียนในภาษาอื่น:

Inline มีการรองรับ C, C ++, Java, Python, Ruby, Tcl, Assembler, Basic, Guile, Befunge, Octave, Awk, BC, TT (ชุดเครื่องมือแม่แบบ), WebChat และแม้กระทั่ง PERL


ฉันไม่เคยได้ยิน Perl Inline มันเป็นแนวคิดที่น่าสนใจ แต่มันให้ประโยชน์มากกว่าสิ่งที่เป็นวิธีการปกติในการมีโมดูลแยกต่างหากสำหรับโค้ดที่ไม่ใช่ PERL หรือไม่?
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner: Inline Perl เป็นโมดูลที่ยอดเยี่ยม แต่มีข้อบกพร่องบางอย่าง มันใช้งานได้ดี แต่มีเพียงแค่โค้ดพื้นฐานเท่านั้น แม้ว่ามันจะถูกใช้งานมาระยะหนึ่งแล้ว แต่ฉันจะไม่ใช้มันในการผลิตใด ๆ
ไดนามิก

3

SQL แบบฝังเป็นวิธีการทั่วไปในการฝังคำสั่ง SQL ลงในโปรแกรมภาษาอื่น ๆ

วันนี้มันถูกแทนที่เกือบทั้งหมดด้วยการเข้าถึงฐานข้อมูลที่อิงกับ API ที่รวบรวมได้ง่ายกว่าซึ่งไม่จำเป็นต้องแก้ไขภาษาโฮสต์ แต่ใช้ความสามารถปกติแทน


1
ทุกวันนี้ SQL แบบฝังตัวกลับมาอีกครั้งในรูปแบบของ LINQ และอยู่ที่นี่ตลอดเวลา
SK-logic

@ SK-logic: LINQ เป็นอย่างไรเช่น SQL แบบฝังตัว มันไม่ใช่ภาษาอื่นมันเป็นเพียงการประยุกต์ใช้โครงสร้างภาษาเพิ่มเติมในภาษาแม่ข่าย
Joachim Sauer

LINQ เป็น DSL ที่ฝังตัวทั่วไปซึ่งมีความหมายต่างจากภาษาแม่ และในกรณีของ LINQ2SQL มันจะทำงานในลักษณะเดียวกับ SQL แบบฝังตัวเดิมมันถูกแปลเป็น SQL อย่างแท้จริง
SK-logic

แต่ SQL แบบฝังไม่ได้แปลเป็น SQL คุณเขียนSQL ตัวอักษรในรหัส C ของคุณ (และมักจะไม่อยู่ในค่าคงที่สตริง) แม้ว่า 'LINQ จะใช้คุณสมบัติภาษาที่ได้รับการพัฒนาโดยเฉพาะสำหรับ LINQ แต่มันเป็นเพียงแค่ "API" ภายในภาษาโฮสต์
Joachim Sauer

1
Pro C และ Pro Fortran งบ SQL ที่แปลแล้วเล็กน้อย และ LINQ ไม่ใช่ "แค่" API มันเป็น API ที่มีไวยากรณ์น้ำตาลและคอมไพเลอร์แทนกันได้ส่วนท้าย ซึ่งทำให้มันเป็นตัวอย่างที่สมบูรณ์แบบของ DSL ที่ฝังตัวแบบเต็มรูปแบบ
SK-logic

2

สามารถใช้ภาษาการเขียนโปรแกรมหลายภาษาในรูปแบบ 1 exe วิธีหนึ่งคือใช้ DLLs แน่นอนว่ายังมีข้อกังวลมากมายเกี่ยวกับเรื่องนี้ ตัวอย่างเช่นความเข้ากันได้ของพารามิเตอร์ความเข้ากันได้ของ COM และอื่น ๆ ในความเป็นจริงถ้าคุณคิดว่าคุณเรียกระบบฐานข้อมูลมาทำงานอย่างไรคุณอาจพบว่า DBMS ไม่ได้เขียนด้วยภาษาที่คุณรู้จัก คุณอาจไม่สนใจตราบใดที่อินเตอร์เฟสนั้นเป็นที่รู้จัก

แนวคิดนี้นำมาเพิ่มเติมเมื่อโซลูชันของคุณใช้บริการบนเว็บซึ่งเป็นวิธีที่สะอาดกว่าที่รวมองค์ประกอบซอฟต์แวร์หลายรายการเข้าด้วยกัน

ในโลกของ. NET สิ่งที่กล่าวมาทั้งหมดข้างต้นมีผลบังคับใช้กับส่วนต่อประสาน XAML และ HTML ระดับสูงของอินเตอร์เฟสสามารถอยู่ด้วยกันได้ใน Silverlight

ในโลก UNIX ในครั้งเดียวเราใช้สคริปต์ KShell เพื่อเปิดโปรแกรม C ++ และ COBOL เพื่อให้วิธีการแก้ปัญหาทำงานได้


2

ฉันคิดว่ามันจะคุ้มค่าที่จะพูดถึงCythonที่นี่ มันเป็นชุดของ Python สำหรับการเขียนส่วนขยาย C และถึงแม้ว่ามันจะเป็นภาษาที่ไม่เหมือนใครในตัวมันเอง แต่มันก็ช่วยให้คุณสามารถใช้รหัส C ในรหัส Python ได้ถ้าคุณเป็นไปตามไวยากรณ์สไตล์ของ Cython


0

ตัวอย่างของการรวมภาษา: Jython (python ใน Java), Cog (python ใช้เป็นตัวสร้างโค้ดที่ฝังตัวในทุกสิ่ง) ฉันมักจะใช้รหัส Perl เพื่อสร้าง C ++ ถ้าคุณนับการสร้างรหัส


0

กรอบงาน. NET สร้างขึ้นเพื่อให้หลายภาษาเข้าร่วมในโซลูชันเดียว มันทำงานได้ตราบใดที่ภาษาสามารถสร้างโค้ดไบต์ที่เข้ากันได้กับ CLR

http://www.geekinterview.com/question_details/1047


ฉันไม่คิดว่านั่นคือสิ่งที่โปสเตอร์ดั้งเดิมมีความหมาย ไบต์ที่เกิดขึ้นนั้นมีน้อยมากเกี่ยวกับวิธีที่มันถูกเขียนในภาษาที่มันถูกรวบรวม
perdian

ฉันไม่คิดว่าคุณเข้าใจคำถาม ผู้เขียนกำลังพูดถึงการรวมหลายภาษาไว้ในไฟล์ที่ไม่ชัดเจน
Craige

0

มันยากมากน่าเกลียดและมักจะไร้ประโยชน์ในการรวมภาษาการเขียนโปรแกรมหลายภาษาไว้ในไฟล์เดียว

อย่างไรก็ตามมีความเป็นไปได้ที่จะมีโครงการขนาดใหญ่ที่เขียนด้วยภาษามากกว่า 1 ภาษา ตัวอย่างเช่นทั้ง Mozilla Firefox และ MySQL มีรหัส C และ C ++ เมื่อพูดถึงโครงการขนาดใหญ่การฝึกนี้มักจะใช้เพราะภาษาหนึ่งมีคุณสมบัติบางอย่างที่ไม่เป็น ยกตัวอย่างเช่นใน PHP คุณสามารถขอให้มีการประมวลผลแบบไบนารีที่เรียกใช้ผลของมันและใช้มันในโค้ด PHP ของคุณจากจุดนั้น

หากคุณสงสัยว่าภาษาใดที่ใช้สำหรับโครงการโอเพ่นซอร์สที่สำคัญที่สุดในโลกคุณสามารถดูOhloh.netได้ สถิติเกี่ยวกับซอร์สโค้ดของหลายโครงการสามารถพบได้


-1

คุณสามารถ "ผสม" ภาษาเป็น HTML เป็นสิ่งสำคัญจริง ๆ ที่เว็บไซต์จำนวนมากทำงานอย่างไรคุณจึงสามารถฝัง javascript ไว้ใน html แต่แน่นอน HTML คือมาร์กอัปไม่ใช่ภาษาโปรแกรม

ฉันคิดว่าจะทำในสิ่งที่คุณเสนอจะนำมาซึ่งการเขียนภาษาใหม่อยู่ดี ไม่ว่าคุณจะต้องสร้างล่าม / คอมไพเลอร์ที่พูดภาษาเหล่านั้นทั้งหมดและสามารถวางกรอบพวกเขาอย่างสม่ำเสมอหรือคุณต้องการวิธีประเมินบรรทัดทีละบรรทัดอย่างชัดเจนในสิ่งที่เป็นเมตาดาต้า ตัวเลือกทั้งสองนั้นเป็นแบบเดียวกันยกเว้นสิ่งที่โปรแกรมเมอร์ต้องทำเพื่อให้ภาษาทำงานร่วมกัน


+1 เกี่ยวกับการผสมภาษาใน HTML แต่ส่วนตัวแล้วฉันเชื่อว่าเป็นการดีกว่าที่จะแยก HTML / CSS และ JS ออกจากกัน นักออกแบบเว็บไซต์สามารถทำสิ่งต่างๆได้โดยไม่ต้องพยายามท่องจาวาสคริปต์ที่ฝังอยู่ทั่วทั้งไซต์
jmort253

คุณสามารถผสมภาษาใน HTML แต่มีไม่มากที่เป็นภาษาการเขียนโปรแกรมซึ่งเป็นหัวข้อที่อยู่ในมือ
Alexios

ใช่มั้ย? Javascript ไม่ใช่ภาษาโปรแกรมใช่ไหม PHP? ฉันเคยเห็นการฉีด Perl และงูหลามแม้ว่าจะเป็นกับโมดูล Apache
markw

-1

ภาษาเป็นเครื่องมือ ก่อนที่จะเลือกเครื่องมือ (ยิ่งไปกว่านั้นการรวมกันของ hummer-PC-spectroscope แปลก ๆ ) ควรถามตัวเองว่ามันคืออะไรที่ฉันต้องการจะทำ ?? เมื่อได้รับคำตอบแล้วคุณจะพบว่าการผสมภาษาแบบนั้นไม่ค่อยจำเป็น


-3

ใช่มันเป็นไปได้ที่จะผสมผสานภาษาการเขียนโปรแกรมตราบใดที่ล่าม / ผู้แปลของคุณสามารถเข้าใจได้ ตัวอย่างเช่นการผสม javascript, PHP, python ใน HTML หรือ C ++ ใน C #

ภาษาที่ผสมกันจะทำให้อ่านและแก้ไขโค้ดได้ยากขึ้นดังนั้นจึงต้องทำด้วยความระมัดระวัง วิธีหนึ่งในการทำเช่นนี้คือการสร้างไฟล์แยกต่างหากสำหรับรหัสในภาษาที่คุณต้องการโทรออกและนำเข้าแทนที่จะฝังไว้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.