suchen
HeimBackend-EntwicklungPHP-Tutorialjavascript - 请教关于多语言程序设计的问题?

有经验的前辈们劝解各种问哪个语言最厉害的新手时常说,一个系统是用多种语言,让各语言都放在他们擅长的领域才是最好的。同时其他场合也有前辈常说,因为PHP易部署,开发效率高,所以用来负责处理业务逻辑,而一些对分布式并行等等的用java实现,涉及数据处理等用python实现。但都没用提及具体设计的方法。

所以在这里问一下,怎么用多种语言设计一个系统?

根据我个人浅薄的知识,大概想出两种方案。

  • 利用C/C++做底层的拓展,把各个用不同语言写的模块连接在一起。但直觉告诉我这样不科学。

  • 把各个不同语言的模块都设计成C/S的模式,模块间用socket交互,但这样感觉效率不高,而且如果所有模块都可以在同一机器上部署,也要设计成C/S的模式吗?

已经问过度娘,实在找不到需要的答案,才来这里提问,希望有相关经验的前辈分享一下经验,如果能给出相关资料更加好,十分感谢!

回复内容:

有经验的前辈们劝解各种问哪个语言最厉害的新手时常说,一个系统是用多种语言,让各语言都放在他们擅长的领域才是最好的。同时其他场合也有前辈常说,因为PHP易部署,开发效率高,所以用来负责处理业务逻辑,而一些对分布式并行等等的用java实现,涉及数据处理等用python实现。但都没用提及具体设计的方法。

所以在这里问一下,怎么用多种语言设计一个系统?

根据我个人浅薄的知识,大概想出两种方案。

  • 利用C/C++做底层的拓展,把各个用不同语言写的模块连接在一起。但直觉告诉我这样不科学。

  • 把各个不同语言的模块都设计成C/S的模式,模块间用socket交互,但这样感觉效率不高,而且如果所有模块都可以在同一机器上部署,也要设计成C/S的模式吗?

已经问过度娘,实在找不到需要的答案,才来这里提问,希望有相关经验的前辈分享一下经验,如果能给出相关资料更加好,十分感谢!

thrift或者restful是常规型的多语言胶水方案

跨语言常见的有两种方式。一种是基于 SOA 架构的,服务可以由多种语言分别编写,但是接口统一。客户端也可以是多种语言编写的,只需要调用统一的服务接口。典型的例子就是各种开发接口,比如微博、微信等开发接口就是这类。在程序里调用SQL其实也可以算在这类里面。

另外一种方式就是常见的提供二次开发脚本的方式,在程序中提供一套 API 由客户按此 API 开发插件之类的东西,比如 Office 里面的 VBA。

其实最常见的多语言配合开发其实是网页,一般至少由 HTML、CSS 和 JavaScript 来配合开发,就算你不把 CSS 当语言,HTML 和 JavaScript 总是语言吧,何况还有 LESS 之类的 CSS 预处理语言。

在以前 C/C++ 里嵌汇编也是常有的事情,只是现在不多见了。

不要为了使用多种语言而使用多种语言,多种语言之前的配合也是需要成本的。有时候如果能用一种语言解决,也不一定非要用多种语言来各干各自擅长的事情了。

关键看你做什么系统,如果你比较了解各个语言的特点和现有的类库,那你大概就知道会结合你的业务做如何选择
1) C++ 追求性能极致的必须用C++,性能无出其右,缺点是开发效率低,别说什么java比C++快,那是基于C++程序员水平不行并且没有优化的前提下,试用领域: 图形图像处理、游戏后台开发,原因:没有GC,没有延迟,试想你做一个游戏后台服务器,服务器做GC导致卡顿了几十毫秒在客户端是一个什么样的糟糕的体验,目前很多做手游的也在用java,但是手游和端游是2回事,呵呵。
2) java 你如果做web或其他的对延迟没有那么苛刻的要求的,这个是比较好的选择,性能上接近c++,开发效率又没有那么低,一大堆类库和框架可以用,不论是web还是大数据,java都是个不错的选择,即使你不喜欢java,还有一大堆基于jvm的语言给你选择,对于企业来说,招一个能干活的java比招一个差不多的C++容易很多,培训几个月就能开始写java了,这点C++是绝对做不到的,很多写了半年多C++的还搞不清什么是编译期,什么是运行期。
3) 脚本,如PHP, python啥的脚本语言,糙快好省,网上一堆例子,巴拉巴拉就能写个最小粒度的能跑起来的例子了,小公司的不二之选,而且python也算是一个胶水语言,既有jython这种JVM上的, 也有.Net的实现,语法也非常容易上手,所以用python的也很多。
4) 其他的,如C#,Delphi等,不做评论了。

计划赶不上变化,我觉得楼主想的太多了。实际上没有必要这么细致,首先来说多语言共同部署,你的开发人员成本就马上增大了,然后协调成本,维护成本也相应增加,得不偿失。其实完全可以用一种语言进行先期开发,例如php这种易于部署而且比较灵活的东西,项目成型之后如果在实际使用中发现具体问题,且php无法提供好的方案时,可以再有针对性的使用其它语言解决问题。此时由于业务逻辑等已经稳定,重构的成本就降低了。

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
PHP in Aktion: Beispiele und Anwendungen in realer WeltPHP in Aktion: Beispiele und Anwendungen in realer WeltApr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

PHP: Erstellen interaktiver Webinhalte mühelosPHP: Erstellen interaktiver Webinhalte mühelosApr 14, 2025 am 12:15 AM

PHP erleichtert es einfach, interaktive Webinhalte zu erstellen. 1) Generieren Sie Inhalte dynamisch, indem Sie HTML einbetten und in Echtzeit basierend auf Benutzereingaben oder Datenbankdaten anzeigen. 2) Verarbeitungsformularübermittlung und dynamische Ausgabe erzeugen, um sicherzustellen, dass HTMLSpecialChars zur Vorbeugung von XSS verwendet wird. 3) Verwenden Sie MySQL, um ein Benutzerregistrierungssystem zu erstellen und Anweisungen von Password_hash und Preprocessing vorzubereiten, um die Sicherheit zu verbessern. Durch die Beherrschung dieser Techniken wird die Effizienz der Webentwicklung verbessert.

PHP und Python: Vergleich von zwei beliebten ProgrammiersprachenPHP und Python: Vergleich von zwei beliebten ProgrammiersprachenApr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

Die dauerhafte Relevanz von PHP: Ist es noch am Leben?Die dauerhafte Relevanz von PHP: Ist es noch am Leben?Apr 14, 2025 am 12:12 AM

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

Der aktuelle Status von PHP: Ein Blick auf WebentwicklungstrendsDer aktuelle Status von PHP: Ein Blick auf WebentwicklungstrendsApr 13, 2025 am 12:20 AM

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

Php gegen andere Sprachen: Ein VergleichPhp gegen andere Sprachen: Ein VergleichApr 13, 2025 am 12:19 AM

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP vs. Python: Kernmerkmale und FunktionenPHP vs. Python: Kernmerkmale und FunktionenApr 13, 2025 am 12:16 AM

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP: Eine Schlüsselsprache für die WebentwicklungPHP: Eine Schlüsselsprache für die WebentwicklungApr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools