Запитання з тегом «programming-languages»

Питання, пов'язані з розробкою, реалізацією та аналізом мов програмування. НЕ для питань, як програмувати, які є поза темою на цьому сайті.

10
Як мова, чий компілятор написаний на C, коли-небудь може бути швидшою за C?
Переглянувши веб-сторінку Джулії , ви можете побачити деякі орієнтири з декількох мов через декілька алгоритмів (терміни, показані нижче). Як мова з компілятором, спочатку написаним на C, перевершує код C? Малюнок: еталонні часи щодо C (менший, тим краще, продуктивність C = 1,0).

12
Чому так багато мов програмування?
Я досить добре володію C / C ++ і можу обійтись різними мовами сценаріїв (awk / sed / perl). Я почав використовувати python набагато більше, тому що він поєднує в собі деякі найтонші аспекти C ++ з можливостями сценарію awk / sed / perl. Але чому так багато різних мов …

6
Чи корисна теорія категорій для вивчення функціонального програмування?
Я вивчаю Haskell і мене захоплює мова. Однак у мене немає серйозного математичного або CS курсу. Але я досвідчений програмний програміст. Я хочу вивчити теорію категорій, щоб я міг стати кращим у Haskell. Які теми в теорії категорій я повинен навчитися, щоб забезпечити хорошу основу для розуміння Хаскелла?

5
Чому деякі мови програмування "швидші" або "повільніші", ніж інші?
Я помітив, що деякі програми або алгоритми, побудовані на мові програмування, скажімо, C ++ / Rust запускаються швидше або швидше, ніж ті, що побудовані, скажімо, на Java / Node.js, що працюють на одній машині. У мене є кілька запитань щодо цього: Чому це відбувається? Що регулює "швидкість" мови програмування? Це …

9
Які властивості мови програмування унеможливлюють компіляцію?
Питання: "Певні властивості мови програмування можуть зажадати, щоб єдиний спосіб отримати написаний на ньому код виконуватись шляхом інтерпретації. Іншими словами, компіляція до коду машинного типу традиційного процесора неможлива. Що це за властивості?" Укладачі: принципи та практика Параг Х. Дейва та Хіманшу Б. Дейва (2 травня 2012 р.) Книга не дає …

6
Офіційна перевірка програми на практиці
Як інженер програмного забезпечення, я пишу багато коду для промислової продукції. Відносно складні речі з класами, нитками, деякими зусиллями в галузі дизайну, а також деякими компромісами для продуктивності. Я дуже багато тестую, і мені набридло тестування, тому я зацікавився інструментами формального доказування, такими як Coq, Isabelle ... Чи можу я …

14
Як я можу пояснити батькам, що я вивчаю мови програмування?
Зараз закінчую магістратуру з інформатики. Мене цікавлять мови програмування, особливо типові системи. Я зацікавився дослідженнями в цій галузі і наступного семестру я розпочну докторську ступінь на цю тему. Тепер ось справжнє питання: як я можу пояснити, що я (хочу) робити людям, які не мали попередніх знань ні в галузі інформатики, …

10
Чи може динамічна мова на зразок Ruby / Python досягати C / C ++ як продуктивність?
Цікаво, чи можна створити компілятори для динамічних мов, таких як Ruby, щоб мати схожу та порівнянну продуктивність з C / C ++? З того, що я розумію про компілятори, візьмемо, наприклад, Ruby, компіляція коду Ruby ніколи не може бути ефективною, оскільки спосіб обробки Ruby відображає такі функції, як автоматичне перетворення …

3
Залежні типи від типів уточнення
Чи може хтось пояснити різницю між залежними типами та типами уточнення? Як я розумію, тип уточнення містить усі значення типу, що виконують присудок. Чи є особливість залежних типів, яка їх відрізняє? Якщо це допомагає, я натрапив на вдосконалені типи через проект Liquid Haskell, та залежні типи через Coq та Agda. …

6
Чи є мінімальні критерії для мови програмування завершеною?
Чи існує набір мов програмування на мові програмування для того, щоб він вважався Тюрінг завершеним? З того, що я можу сказати з вікіпедії , мова повинна підтримувати рекурсію, або, здавалося б, повинна бути здатна працювати без зупинки. Це все є для цього?

9
Що таке безпечна мова програмування?
Безпечні мови програмування (PL) набувають все більшої популярності. Цікаво, яке формальне визначення безпечного ПЛ. Наприклад, C не є безпечним, але Java - безпечним. Я підозрюю, що властивість "безпечно" слід застосовувати до реалізації ПЛ, а не до самої ПЛ. Якщо так, давайте обговоримо визначення безпечної реалізації ПЛ. Мої власні спроби формалізувати …

8
Як змінні зберігаються та витягуються із програмного стеку?
Вибачте заздалегідь за наївність цього питання. Я 50-річний художник, який намагається вперше правильно зрозуміти комп’ютери. Так ось іде. Я намагався зрозуміти, як компілятор обробляє типи даних і змінні (в дуже загальному сенсі, я знаю, що в цьому є багато). Мені щось не вистачає в моєму розумінні взаємозв'язку між сховищем у …

9
Чому деякі мови програмування повні, але їм не вистачає здібностей інших мов?
Я натрапив на дивну проблему, коли писав інтерпретатор, який (повинен) підключати до зовнішніх програм / функцій: Функції в "C" і "C ++" не можуть підключити різні функції , наприклад, я не можу зробити функцію, яка викликає "printf" з точно такими ж аргументами, які він отримав, і замість цього повинен викликати …

2
Як працює псевдокод Таряна (пояснюється комусь, знайомому з C або Java)?
Коротка історія Відомий вчений-комп’ютер Тарджан написав книгу років тому. Він містить абсолютно химерний псевдокод. Хтось, будь ласка, пояснить це? Довга історія Тарджан відомий багатьма досягненнями, в тому числі тим, що він був співавтором схильних дерев . Він опублікував книгу " Структури даних та мережеві алгоритми " протягом 1980-х років. Весь …

2
Чи генератори сміттєзбірників породжені в кеш-пам'яті?
Типовий поколільний сміттєзбірник зберігає нещодавно виділені дані в окремій області пам’яті. У типових програмах багато даних недовговічні, тому збирання молодого сміття (незначний цикл GC) часто та збирання старого сміття нечасто є хорошим компромісом між накладними витратами на пам'ять та витраченим часом на GC. Інтуїтивно зрозуміло, що користь від покоління сміттєзбірника …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.