HeadlinesBriefing HeadlinesBriefing 12 languages

Things I want in a modern relational query language

Hacker News ·

🇬🇧 English

The author revisits an old draft on modern relational query language improvements, inspired by discussions around Acadia. They critique SQL's implementations, noting issues like syntax, query planners, and data types. Drawing from PL/I, Prolog, and functional languages like F# and Elixir, they propose syntax improvements, better parsers, and enhanced user-defined types.

The author highlights PostgreSQL's strengths, influenced by QUEL and [PERSON_NAME]'s relational model, and mentions the need for sum types, pattern matching, and lazy evaluation. They also discuss the limitations of stored procedures and the importance of declarative programming over procedural approaches. The article invites further discussion on refining SQL for modern programming needs.

View original article →


🇸🇦 العربية

أفكار لغة الاستعلامات العلائقية الحديثة

يعيد المؤلف زيارة مسودة قديمة حول تحسينات لغة الاستعلامات العلائقية الحديثة، مستوحى من المناقشات حول Acadia. ينتقد تنفيذات SQL، مشيراً إلى مشاكل مثل بناء الجملة، مخططي الاستعلامات، وأنواع البيانات. مستلهمًا من PL/I، Prolog، واللغات الوظيفية مثل F# و Elixir، يقترح تحسينات في بناء الجملة، ومحللات أفضل، وأنواع معرفة من قبل المستخدم محسنة. يسلط المؤلف الضوء على نقاط قوة PostgreSQL، المتأثرة بـ QUEL ونموذج [PERSON_NAME] العلائقي، ويذكر الحاجة إلى أنواع المجموع، ومطابقة الأنماط، والتقييم الكسول. كما يناقشون قيود الإجراءات المخزنة وأهمية البرمجة التصريحية على الأساليب الإجرائية. تدعو المقالة إلى مزيد من المناقشة حول تحسين SQL لتلبية احتياجات البرمجة الحديثة.

ما هي التحسينات الرئيسية المقترحة للغات الاستعلامات العلائقية؟

تقترح المقالة بناء جملة أفضل مستوحى من اللغات الوظيفية، ومخططي استعلامات محسنين، وأنواع معرفة من قبل المستخدم محسنة، ودعم لأنواع المجموع ومطابقة الأنماط لتتوافق مع نماذج البرمجة الحديثة.

العربية version →


🇧🇩 বাংলা

আধুনিক সম্পর্কपरক কোয়েরি ভাষার ধারণা

লেখক Acadia-এর চারপাশের আলোচনা থেকে অনুপ্রাণিত হয়ে আধুনিক সম্পর্কপরক কোয়েরি ভাষার উন্নতির একটি পুরনো খসড়া পুনরায় দেখেন। তিনি SQL-এর বাস্তবায়নের সমালোচনা করেন, সিনট্যাক্স, কোয়েরি প্ল্যানার এবং ডেটা টাইপের মতো সমস্যাগুলি উল্লেখ করেন। PL/I, Prolog, এবং F# এবং Elixir-এর মতো ফাংশনাল ভাষাগুলি থেকে অনুপ্রেরণা নিয়ে, তিনি সিনট্যাক্স উন্নতি, উন্নত পার্সার, এবং উন্নত ব্যবহারকারী-সংজ্ঞায়িত টাইপের প্রস্তাব করেন। লেখক PostgreSQL-এর শক্তি হাইলাইট করেন, যা QUEL এবং [PERSON_NAME]-এর সম্পর্কপরক মডেল দ্বারা প্রভাবিত, এবং যোগ টাইপ, প্যাটার্ন মিলিং, এবং লেজি ইভ্যালুয়েশনের প্রয়োজনীয়তা উল্লেখ করেন। তিনি সংরক্ষিত প্রক্রিয়াগুলির সীমাবদ্ধতা এবং প্রক্রিয়াগত পদ্ধতির চেয়ে ঘোষণামূলক প্রোগ্রামিংয়ের গুরুত্ব নিয়ে আলোচনা করেন। নিবন্ধটি আধুনিক প্রোগ্রামিং প্রয়োজনের জন্য SQL পরিশোধনের উপর আরও আলোচনা আমন্ত্রণ জানায়।

সম্পর্কপরক কোয়েরি ভাষার জন্য প্রস্তাবিত মূল উন্নতিগুলি কী?

নিবন্ধটি ফাংশনাল ভাষা থেকে অনুপ্রাণিত উন্নত সিনট্যাক্স, উন্নত কোয়েরি প্ল্যানার, উন্নত ব্যবহারকারী-সংজ্ঞায়িত টাইপ, এবং আধুনিক প্রোগ্রামিং প্যারাডাইমের সাথে সাদৃশ্য করার জন্য যোগ টাইপ এবং প্যাটার্ন মিলিং-এর সমর্থন প্রস্তাব করে।

বাংলা version →


🇩🇪 Deutsch

Ideen für moderne relationale Abfragesprachen

Der Autor greift einen alten Entwurf zu Verbesserungen moderner relationaler Abfragesprachen wieder auf, inspiriert durch Diskussionen rund um Acadia. Er kritisiert SQL-Implementierungen und weist auf Probleme wie Syntax, Abfrageplaner und Datentypen hin. Angeregt durch PL/I, Prolog und funktionale Sprachen wie F# und Elixir schlägt er Syntaxverbesserungen, bessere Parser und erweiterte benutzerdefinierte Typen vor.

Der Autor hebt die Stärken von PostgreSQL hervor, das von QUEL und [PERSON_NAME]s relationalem Modell beeinflusst wurde, und erwähnt den Bedarf an Summentypen, Pattern Matching und verzögerter Auswertung. Er diskutiert auch die Einschränkungen gespeicherter Prozeduren und die Wichtigkeit deklarativer Programmierung gegenüber prozeduralen Ansätzen. Der Artikel lädt zu weiterer Diskussion über die Verfeinerung von SQL für moderne Programmierbedürfnisse ein.

Was sind die wichtigsten vorgeschlagenen Verbesserungen für relationale Abfragesprachen?

Der Artikel schlägt eine bessere, von funktionalen Sprachen inspirierte Syntax, verbesserte Abfrageplaner, erweiterte benutzerdefinierte Typen und Unterstützung für Summentypen und Pattern Matching vor, um sich an moderne Programmierparadigmen anzupassen.

Deutsch version →


🇪🇸 Español

Ideas para Lenguajes de Consulta Relacionales Modernos

El autor revisita un borrador antiguo sobre mejoras en lenguajes de consulta relacionales modernos, inspirado por discusiones en torno a Acadia. Critican las implementaciones de SQL, señalando problemas como la sintaxis, los planificadores de consultas y los tipos de datos. Basándose en PL/I, Prolog y lenguajes funcionales como F# y Elixir, proponen mejoras en la sintaxis, mejores analizadores y tipos definidos por el usuario mejorados.

El autor destaca las fortalezas de PostgreSQL, influenciado por QUEL y el modelo relacional de [PERSON_NAME], y menciona la necesidad de tipos suma, coincidencia de patrones y evaluación perezosa. También discuten las limitaciones de los procedimientos almacenados y la importancia de la programación declarativa frente a los enfoques procedurales. El artículo invita a una discusión adicional sobre la refinación de SQL para las necesidades de programación modernas.

¿Cuáles son las mejoras clave propuestas para los lenguajes de consulta relacionales?

El artículo sugiere una mejor sintaxis inspirada en lenguajes funcionales, planificadores de consultas mejorados, tipos definidos por el usuario mejorados y soporte para tipos suma y coincidencia de patrones para alinearse con los paradigmas de programación modernos.

Español version →


🇫🇷 Français

Idées pour un Langage de Requêtes Relationnel Moderne

L'auteur revisite une ancienne ébauche sur les améliorations des langages de requêtes relationnels modernes, inspirée par les discussions autour d'Acadia. Il critique les implémentations de SQL, notant des problèmes comme la syntaxe, les planificateurs de requêtes et les types de données. S'inspirant de PL/I, Prolog et de langages fonctionnels comme F# et Elixir, il propose des améliorations de syntaxe, de meilleurs analyseurs et des types définis par l'utilisateur améliorés.

L'auteur met en avant les forces de PostgreSQL, influencé par QUEL et le modèle relationnel de [PERSON_NAME], et mentionne le besoin de types sommes, de filtrage par motif et d'évaluation paresseuse. Il discute également des limites des procédures stockées et de l'importance de la programmation déclarative par rapport aux approches procédurales. L'article invite à une discussion plus approfondie sur l'affinement de SQL pour les besoins de la programmation moderne.

Quelles sont les améliorations clés proposées pour les langages de requêtes relationnels ?

L'article suggère une meilleure syntaxe inspirée des langages fonctionnels, des planificateurs de requêtes améliorés, des types définis par l'utilisateur améliorés, et la prise en charge des types sommes et du filtrage par motif pour s'aligner sur les paradigmes de programmation modernes.

Français version →


🇮🇳 हिन्दी

आधुनिक संबंधपरक क्वेरी भाषा के विचार

लेखक Acadia के आसपास की चर्चाओं से प्रेरित होकर, आधुनिक संबंधपरक क्वेरी भाषा में सुधार पर एक पुराने मसौदे को फिर से देखते हैं। वे SQL के कार्यान्वयन की आलोचना करते हैं, जिसमें सिंटैक्स, क्वेरी प्लानर और डेटा प्रकार जैसे मुद्दों को नोट करते हैं। PL/I, Prolog, और F# और Elixir जैसी कार्यात्मक भाषाओं से प्रेरणा लेते हुए, वे सिंटैक्स में सुधार, बेहतर पार्सर, और उन्नत उपयोगकर्ता-परिभाषित प्रकारों का प्रस्ताव करते हैं। लेखक PostgreSQL की शक्तियों पर प्रकाश डालते हैं, जो QUEL और [PERSON_NAME] के संबंधपरक मॉडल से प्रभावित है, और योग प्रकार, पैटर्न मिलान, और आलसी मूल्यांकन की आवश्यकता का उल्लेख करते हैं। वे संग्रहीत प्रक्रियाओं की सीमाओं और प्रक्रियात्मक दृष्टिकोणों पर घोषणात्मक प्रोग्रामिंग के महत्व पर भी चर्चा करते हैं। लेख आधुनिक प्रोग्रामिंग आवश्यकताओं के लिए SQL को परिष्कृत करने पर आगे की चर्चा को आमंत्रित करता है।

संबंधपरक क्वेरी भाषाओं के लिए प्रस्तावित प्रमुख सुधार क्या हैं?

लेख कार्यात्मक भाषाओं से प्रेरित बेहतर सिंटैक्स, बेहतर क्वेरी प्लानर, उन्नत उपयोगकर्ता-परिभाषित प्रकार, और आधुनिक प्रोग्रामिंग प्रतिमानों के साथ संरेखित करने के लिए योग प्रकार और पैटर्न मिलान के लिए समर्थन का सुझाव देता है।

हिन्दी version →


🇮🇩 Bahasa Indonesia

Ide Bahasa Kueri Relasional Modern

Penulis meninjau kembali draf lama tentang perbaikan bahasa kueri relasional modern, terinspirasi oleh diskusi seputar Acadia. Mereka mengkritik implementasi SQL, mencatat masalah seperti sintaks, perencana kueri, dan tipe data. Berbasis pada PL/I, Prolog, dan bahasa fungsional seperti F# dan Elixir, mereka mengusulkan perbaikan sintaks, parser yang lebih baik, dan tipe data pengguna yang ditingkatkan.

Penulis menyoroti kelebihan PostgreSQL, dipengaruhi oleh QUEL dan model relasional [PERSON_NAME], dan menyebutkan kebutuhan tipe jumlah, pencocokan pola, dan evaluasi malas. Mereka juga membatasi keterbatasan prosedur tersimpan dan pentingnya pemrograman deklaratif dibandingkan pendekatan prosedural. Artikel ini mengundang diskusi lebih lanjut tentang penyempurnaan SQL untuk kebutuhan pemrograman modern.

Apa perbaikan kunci yang diusulkan untuk bahasa kueri relasional?

Artikel ini menyarankan sintaks yang lebih baik terinspirasi bahasa fungsional, perencana kueri yang ditingkatkan, tipe data pengguna yang ditingkatkan, dan dukungan untuk tipe jumlah dan pencocokan pola untuk selaras dengan paradigma pemrograman modern.

Bahasa Indonesia version →


🇯🇵 日本語

モダンなリレーショナルクエリ言語のアイデア

著者は、Acadiaを巡る議論に触発され、モダンなリレーショナルクエリ言語の改善に関する古い草稿を再訪します。彼らはSQLの実装を批判し、構文、クエリプランナ、データ型といった問題を指摘します。PL/I、Prolog、F#やElixirといった関数型言語から着想を得て、構文の改善、より良いパーサー、拡張されたユーザー定義型を提案します。著者は、QUELと[PERSON_NAME]のリレーショナルモデルの影響を受けたPostgreSQLの強みを強調し、総称型(サムタイプ)、パターンマッチング、遅延評価の必要性に言及します。また、ストアドプロシージャの限界と、手続き的アプローチよりも宣言型プログラミングの重要性についても議論します。本記事は、現代のプログラミングニーズに合わせてSQLを洗練させるための更なる議論を呼びかけています。

リレーショナルクエリ言語に提案されている主要な改善点は何ですか?

この記事では、関数型言語に着想を得たより良い構文、改善されたクエリプランナ、拡張されたユーザー定義型、そしてモダンなプログラミングパラダイムに合わせた総称型(サムタイプ)とパターンマッチングのサポートを提案しています。

日本語 version →


🇧🇷 Português

Ideias para Linguagem de Consulta Relacional Moderna

O autor revisita um rascunho antigo sobre melhorias em linguagens de consulta relacional modernas, inspirado por discussões em torno do Acadia. Eles criticam as implementações do SQL, apontando problemas como sintaxe, planejadores de consultas e tipos de dados. Baseando-se em PL/I, Prolog e linguagens funcionais como F# e Elixir, eles propõem melhorias na sintaxe, melhores analisadores e tipos definidos pelo usuário aprimorados.

O autor destaca os pontos fortes do PostgreSQL, influenciado por QUEL e pelo modelo relacional de [PERSON_NAME], e menciona a necessidade de tipos soma, correspondência de padrões e avaliação preguiçosa. Eles também discutem as limitações de procedimentos armazenados e a importância da programação declarativa em vez de abordagens procedurais. O artigo convida a uma discussão adicional sobre o refinamento do SQL para as necessidades de programação modernas.

Quais são as principais melhorias propostas para linguagens de consulta relacional?

O artigo sugere melhor sintaxe inspirada em linguagens funcionais, planejadores de consultas aprimorados, tipos definidos pelo usuário aprimorados e suporte para tipos soma e correspondência de padrões para alinhar com paradigmas de programação modernos.

Português version →


🇷🇺 Русский

Идеи современного реляционного языка запросов

Автор пересматривает старый черновик об улучшениях современного реляционного языка запросов, вдохновленный обсуждениями вокруг Acadia. Они критикуют реализации SQL, отмечая проблемы вроде синтаксиса, планировщиков запросов и типов данных. Вдохновляясь PL/I, Prolog и функциональными языками вроде F# и Elixir, они предлагают улучшения синтаксиса, лучшие парсеры и расширенные пользовательские типы. Автор подчеркивает сильные стороны PostgreSQL, повлиявшего QUEL и реляционной моделью [PERSON_NAME], и упоминает необходимость суммируемых типов, сопоставления с образцом и ленивых вычислений. Они также обсуждают ограничения хранимых процедур и важность декларативного программирования по сравнению с процедурными подходами. Статья призывает к дальнейшему обсуждению уточнения SQL для современных потребностей программирования.

Каковы ключевые улучшения, предлагаемые для реляционных языков запросов?

Статья предлагает лучший синтаксис, вдохновленный функциональными языками, улучшенные планировщики запросов, расширенные пользовательские типы и поддержку суммируемых типов и сопоставления с образцом для соответствия современным парадигмам программирования.

Русский version →


🇨🇳 简体中文

现代关系查询语言的创新思路

作者重温了一份关于现代关系查询语言改进的旧草稿,灵感源于围绕Acadia的讨论。他们批评了SQL的实现,指出了语法、查询规划器和数据类型等问题。借鉴PL/I、Prolog以及F#和Elixir等函数式语言,他们提出了语法改进、更好的解析器和增强的用户定义类型。作者强调了PostgreSQL的优势,其受QUEL和[PERSON_NAME]的关系模型影响,并提到了对求和类型、模式匹配和惰性求值的需求。他们还讨论了存储过程的局限性,以及声明式编程相对于过程式方法的重要性。本文邀请进一步讨论,以完善SQL以满足现代编程需求。

关系查询语言的关键改进建议有哪些?

文章建议采用受函数式语言启发的更好语法、改进的查询规划器、增强的用户定义类型,以及对求和类型和模式匹配的支持,以符合现代编程范式。

简体中文 version →