Share to: share facebook share twitter share wa share telegram print page

Алгол

Алгол
Изображение логотипа
Класс языка язык программирования, процедурный язык программирования, императивный и структурный язык программирования[вд]
Появился в 1958
Автор Фридрих Бауэр, Hermann Bottenbruch[вд], Хайнцем Рутисхаузер[вд], Клаус Самельсон[вд], Джон Бэкус, Чарльз Кац[вд], Алан Джей Перлис, Джозеф Уэгстен[вд], Петер Наур, Bernard Vauquois[вд], Адриан ван Вейнгаарден, Жюльен Грин и Джон Маккарти
Испытал влияние Фортран
Логотип Викисклада Медиафайлы на Викискладе

Алго́л (англ. Algol от algorithmic language — «алгоритмический язык») — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958-1960 годах (Алгол 58[1][2], Алгол 60[3][4]). Кардинально переработан в 1964-1968 годах (Алгол 68). Один из первых языков высокого уровня. Был популярен в Европе, в том числе в СССР, в качестве языка как практического программирования, так и академического языка (языка публикации алгоритмов в научных работах), но в США и Канаде не смог превзойти распространённый там Фортран. Оказал заметное влияние на все разработанные позднее императивные языки программирования — в частности, на язык Pascal.

Обычно названием Алгол (без уточнения версии) именуют Алгол 60, в то время как Алгол 68 рассматривается как самостоятельный язык.

История

Алгол был разработан в 1958 году на недельной конференции в ETH (Цюрих, Швейцария) как универсальный язык программирования для широкого круга применений, а затем доработан комитетом, созданным Международной федерацией по обработке информации (IFIP). В комитет вошёл ряд ведущих европейских и американских учёных и инженеров-разработчиков языков. Среди них были: Джон Бэкус — один из создателей Фортрана, Джозеф Уэгстен — впоследствии возглавлял комитет по разработке языка Кобол, Джон Маккарти — автор языка Лисп, разработанного одновременно с Алголом, Петер Наур — впоследствии доработал «нормальную форму Бэкуса», завершив разработку БНФ, Эдсгер Дейкстра — нидерландский учёный, впоследствии получивший широкую известность как один из создателей структурного программирования и сторонник математического подхода к программированию, будущий лауреат Премии Тьюринга.

Сначала работа столкнулась с большими трудностями непринципиального характера. Так, например, один из членов комитета вспоминал «десятичную бурю» — крайне резкую дискуссию между американскими и европейскими участниками по поводу того, какой именно символ использовать в качестве разделителя целой и дробной части числа. Американцы стояли за точку, европейцы требовали применять традиционную в Европе запятую, и из-за такой мелочи работа оказалась под реальной угрозой срыва. Чтобы избежать конфликтов по мелким вопросам, было решено, что описание Алгола будет трёхуровневым, включающим уровень описаний, публикаций и реализации. Мелкие вопросы, типа выбора между точкой и запятой или используемого алфавита, были вынесены на второй-третий уровень, что позволило относительно быстро решить принципиальные вопросы. На уровне публикаций, согласованном позже, допускалось использование национальных ключевых слов и стандартов представления данных (в том числе и десятичной точки), уровень реализации определял язык совершенно строго — согласно ему должны были строиться трансляторы.

После принятия в 1958 году первой версии описания языка Алгол 58 (первоначально предполагалось назвать язык IAL — International Algebraic Language, но от этого отказались[5]) довольно быстро были осознаны проблемы, для решения которых комитет сформировал новый вариант стандарта — Алгол 60; он и стал «классическим» Алголом. В 1959 году Джон Бэкус разработал «нормальную форму Бэкуса» (БНФ) — формальный способ описания алгоритмических языков. Первым языком, спецификация которого была записана в БНФ, стал Алгол 58. Впоследствии, после усовершенствований, которые предложил Питер Наур, возникла форма Бэкуса — Наура (аббревиатура та же — БНФ или BNF), которая использовалась для спецификации языка ALGOL 60 уже на этапе её разработки.

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

SHARE — американская ассоциация пользователей компьютеров IBM — потребовала от фирмы реализовать Алгол для своих машин, но появившийся в конце концов компилятор Алгола для IBM OS/360 был крайне неудобен в использовании — вполне естественно, что IBM, вложившая в Фортран огромные суммы, не имела стимула для создания нового продукта, который лишь конкурировал бы со старым. В то же время, недостатки Фортрана вынудили IBM искать ему замену и привели к разработке PL/I — языка-наследника Фортрана, в котором влияние Алгола было весьма заметным.

А вот в Европе Алгол приняли с энтузиазмом. Он быстро завоевал популярность в академической среде, повсеместно шла разработка компиляторов, многие из которых, несмотря на сложности реализации, оказались весьма успешными. Алгол распространился от Великобритании до Дальнего востока СССР, став как универсальным языком описания алгоритмов в научных публикациях, так и средством реального программирования.

В СССР в Вычислительном центре АН СССР в Лаборатории программирования под руководством В. М. Курочкина был создан свой транслятор с языка АЛГОЛ 60 для ЭВМ БЭСМ-6. Он на протяжении многих лет служил важным инструментом для решения прикладных задач из различных областей естественных наук, широко использовался во многих организациях СССР.

Язык Алгол был принят фирмой Burroughs Corporation в их моделях, начиная с B5000 — этот язык получил название Elliott ALGOL. На компьютерах LGP-30[англ.] использовался язык Dartmouth ALGOL 30.

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

Перед текстом описания языка использовался эпиграф из «Логико-философского трактата» Людвига Витгенштейна: «То, что вообще может быть сказано, может быть сказано ясно; а о чём невозможно говорить, о том следует молчать».[6]

Свойства языка

Особенности языка Алгол стали типичными для большинства императивных языков, созданных позднее него. Именно в Алголе появилось представление о программе не как о свободной последовательности команд, а как о блочной структуре, состоящей из чётко описанных и отделённых друг от друга частей. Основной блок программы на Алголе — это сама главная программа. Она содержит свою исполняемую часть, заключённую в блок, ограниченный парой ключевых слов begin и end, а также описания подпрограмм. Каждая подпрограмма — это программа в миниатюре, имеющая собственные, описанные внутри неё данные, однозначно определённый интерфейс в виде имени и списка формальных параметров, и блок кода. При этом в блоке могут выделяться подблоки.

Были выделены структурные управляющие конструкции: ветвления, циклы, последовательные участки, исполняющие условно или многократно вложенные наборы операторов, также ограниченные теми же ключевыми словами begin и end, что дало возможность описывать логику программы без использования безусловных переходов — печально известного оператора goto, провоцирующего на создание запутанных и плохо структурированных программ.

Современным программистам подобная структура программы кажется очевидной, кое в чём устаревшей и не всегда удобной (часто критикуются бесконечные begin — end в программах на Паскале, который унаследовал эту особенность именно от Алгола), но на момент появления Алгола всё это было заметным шагом вперёд. Программы становились регулярными, это давало возможность наращивать их по объёму, сохраняя обозримыми, понятными, доступными анализу и исправлению. Именно на базе Алгола и его языков-потомков были выполнены успешные работы по аналитическому доказательству правильности программ.

Крайне важным свойством Алгола стала возможность организации рекурсивных процедур, до этого у промышленных языков отсутствовавшая (у лидеров рынка — Фортрана и Кобола, — рекурсия прямо запрещена), но широко использовавшаяся в Лиспе. Использование рекурсивных вычислений в ряде случаев способно значительно упростить структуру программы и сделать её более понятной за счёт близости к математическому описанию алгоритма решения задачи.

Разумеется, не все особенности Алгола сейчас можно назвать удачными и до конца продуманными. Например, стандарт языка полностью проигнорировал средства ввода-вывода; разработчики решили, что каждая реализация языка может решать этот вопрос самостоятельно, исходя из особенностей целевой машины и потребностей пользователей. С другой стороны, концепции модульного программирования с использованием стандартных библиотек подпрограмм тогда ещё просто не было, и операторы ввода-вывода должны были включаться прямо в язык. Это привело к тому, что каждая реализация организовывала ввод-вывод по-своему, и в этой части Алгол-программы для разных компиляторов оказывались почти гарантированно несовместимыми.

В Алголе было предложено два способа передачи параметров в подпрограмму — по имени и по значению. Второй способ широко используется в абсолютном большинстве языков по сей день. Первый же предполагает, что в процедуру передаётся имя фактического параметра, и процедура работает так, как будто в точке обращения записан её код, где вместо формального параметра написано имя фактического. Функции с такими параметрами легко реализуются с помощью препроцессора (как в языке C), однако, генерация объектного кода для них достаточно сложна: фактически для передачи по имени сложных выражений компилятор должен был создавать специальную неименованную функцию, вычисляющую это выражение в его собственной среде окружения, так называемый санк[англ.]. Ближайшим аналогом санка является замыкание, однако санк возникает только в специфическом контексте передачи параметров. Эта особенность языка Алгол 60, в остальном довольно разумно организованного, примечательна удивительным сочетанием полной практической бесполезности с чрезвычайной сложностью и неэффективностью реализации. Поэтому в дальнейшем развитии языков программирования от передачи параметров по имени отказались. В языке PL/I, в целом очень много унаследовавшем от Алгола-60, на этой волне заодно отказались и от передачи параметров по значению, оставив, как и в раннем Фортране, единственный механизм — по ссылке.[7] В языке Си, напротив, осталась только передача параметров по значению (передача по ссылке там может быть смоделирована путём использования параметров типа «указатель»). А для тех случаев, когда передача параметров по имени имеет смысл (она необходима, например, если требуется создать функцию, для которой значения параметров не вычислялись бы в момент вызова), были созданы специальные синтаксические механизмы.

Типы данных

Типизация в Алголе является сильной и статической.

Числа

В Алголе имеется два типа для представления чисел: целое (англ. integer) и с плавающей запятой (англ. real), например: 200, 100.5, +210-1. В качестве десятичного разделителя в Алголе используется точка.

Беззнаковые числовые литералы имеют тип integer, тогда как все остальные имеют тип real.

Логические значения

Для преставления значений истина и ложь применяются литералы true (истина) и false (ложь), имеющие тип Boolean, которые и используются логическими операциями.

Операции

Арифметические операции

Алгол предоставляет наиболее распространённые арифметические операции для целых чисел и чисел с плавающей запятой:

Обозначение Выполняемая операция Пример Результат примера
+ Сложение 1.45 + 2 3.45
- Вычитание 7-3 4
× Умножение 1.2×0.4 0.48
/ Деление 6 / 3 2
Возведение в степень 5↑3 125

Примеры кода

Hello, World

Программа Hello, World на диалекте Dartmouth ALGOL 30[8]:

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO, WORLD!";
WHILE TRUE DO
  BEGIN
  WRITE (F, *, E);
  END;
END.

Для Elliott Algol:

 program HiFolks;
 begin
    print "Hello, world";
 end;

Для IBM OS/360 ALGOL F:

'BEGIN'
  OUTSTRING (1, '('HELLO, WORLD!')');
'END'

Работа с матрицей

procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
    value n, m; array a; integer n, m, i, k; real y;
comment Наибольший элемент матрицы a, размера n на m 
 передаётся в виде результата в y, а его индексы — в параметры i и k;
begin integer p, q;
    y := 0; i := k := 1;
    for p:=1 step 1 until n do
      for q:=1 step 1 until m do
        if abs(a[p, q]) > y then
        begin y := abs(a[p, q]);
          i := p; k := q
        end
end Absmax

Выдача на печать таблицы

Пример для реализации Elliott 803 ALGOL.

FLOATING POINT ALGOL TEST'
BEGIN REAL A,B,C,D'
  READ D'
  FOR A:= 0.0 STEP D UNTIL 6.3 DO
  BEGIN
    PRINT PUNCH(3),££L??'
    B := SIN(A)'
    C := COS(A)'
    PRINT PUNCH(3),SAMELINE,ALIGNED(1,6),A,B,C'
  END'
END'

Здесь:

  • PUNCH(3) посылает текст не на перфоратор, а на удалённый принтер.
  • SAMELINE подавляет возврат каретки.
  • ALIGNED(1,6) указывает формат — 1 знак до и 6 после десятичной точки.

Трюк Йенсена

Рассмотрим следующую программу на Алголе:

begin
  procedure p (a, b);
    name a, b; integer a, b;
  begin
    for a:=1 step 1 until 10 do
      b := 0
  end p;
  integer i; integer array s [1:10];
  p (i, s[i])
end

Поскольку параметры процедуры p передаются по имени (см. выше), вызов процедуры p в данном случае приведёт к обнулению всех элементов массива s. Такое использование передачи параметра по имени было названо «трюком Йенсена», по имени впервые предложившего его программиста.

См. также

Примечания

  1. A. J. Perlis, K. Samelson. Preliminary report: international algebraic language // Communications of the ACM. — 1958-12-01. — Т. 1, вып. 12. — С. 8–22. — ISSN 0001-0782. — doi:10.1145/377924.594925. Архивировано 16 июля 2011 года.
  2. A. J. Perlis, K. Samelson. Report on the Algorithmic Language ALGOL the ACM committee on programming languages and the GAMM committee on programming (англ.) // Numerische Mathematik. — 1959-12-01. — Vol. 1, iss. 1. — P. 41–60. — ISSN 0945-3245. — doi:10.1007/BF01386372. Архивировано 24 ноября 2021 года.
  3. Д. В. Бэкус, Ф. Л. Бауэр, Д. Грин, С. Кэтц, Д. Мак-Карти, П. Наур, Э. Д. Перлис, X. Рутисхаузер, К. Замельзон, Б. Вокуа, Д. Уэгстейн, А. Ван-Вэнгаарден, М. Вуджер. Сообщение об алгоритмическом языке АЛГОЛ-60 = Report on the Algorithmic Language ALGOL-60 // Ж. вычисл. матем. и матем. физ.. — Т. 1, вып. 2. — С. 308-342. — ISSN 0044-4669.
  4. Р. М. Деморган, И. Д. Хилл, Б. А. Уичмен. Алгоритмический язык Алгол 60. Модифицированное сообщение = Modified Report on the Algorithmic Language Algol 60 / пер. с англ. А. Ф. Рар, под ред. А. П. Ершова. — М.: Мир, 1972. — 72 с.
  5. A. J. Perlis. Talk on Computing in the fifties // ACM National Conference. — 1981.
  6. Вопросы Владимира Белкина (Москва). Вопрос 34 | Что? Где? Когда? Дата обращения: 6 июня 2015. Архивировано 2 мая 2016 года.
  7. Пратт Т. Языки программирования: разработка и реализация. — М.: Мир, 1979. — 576 с.: ил.
  8. Hello world! Example Program Архивировано 4 февраля 2010 года.

Литература

Ссылки


Read other articles:

Porto Isola di GelaStato Italia Regione Sicilia Provincia Caltanissetta ComuneGela Localitàcontrada Betlemme-Piana del Signore MareMediterraneo Infrastrutture collegateScalo merci Ferrovia Siracusa-Gela-Canicattì;Strada statale 115 Sud Occidentale Sicula TipoCommerciale GestoriAutorità Portuale Sicilia Occidentale Traffico merci7.400.000 t (2008) Profondità fondali8 a 12 m in testata, in rada oltre 12 m Lunghezza max imbarcazioni130 m, in rada oltre 130 m Posti ba...

 

ديفيد ناكهيد معلومات شخصية الميلاد 15 مايو 1964 (العمر 59 سنة)بورت أوف سبين  الطول 1.79 م (5 قدم 10 1⁄2 بوصة) مركز اللعب وسط الجنسية ترينيداد وتوباغو[1]  المدرسة الأم الجامعة الأميركية  المسيرة الاحترافية1 سنوات فريق م. (هـ.) 1987–1988 بالتيمور بلاست [الإنجليزية...

 

Regering-De Brouckère Voorzitter van de Ministerraad Henri de Brouckère Coalitie ​ Liberale Partij Zetels Kamer 57 van 108 (27 september 1852) Premier Henri de Brouckère Aantreden 31 oktober 1852 Ontslagnemend 4 maart 1855 Einddatum 30 maart 1855 Voorganger Rogier I Opvolger De Decker Portaal    België De regering-De Brouckère (31 oktober 1852 - 30 maart 1855) was een Belgische regering. Deze werd tot stand gebrachten door de Liberale Partij. Ze volgde de regering-Rogier ...

De kinderen van Lir, John Duncan, 1914 De kinderen van Lir (Iers: Oidheadh chloinne Lir) is een legende uit de Ierse mythologie. Het is een verhaal uit de periode na de kerstening dat magische elementen zoals druïdische toverstokken en toverspreuken combineert met een christelijke geloofsboodschap die vrijheid van lijden brengt. Benaming In het Iers wordt het verhaal Oidheadh Chlainne Lir genoemd, is het verhaal tegenwoordig vaak eenvoudigweg bekend als The Children of Lir. De titel is ook v...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) ديف هيوز   معلومات شخصية الميلاد 26 نوفمبر 1970 (53 سنة)  وارنامبول  الإقامة ملبورن  مواطنة أستراليا  عدد الأولاد 3   الحياة العملية المهنة إذاعي، ...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) 1977 في الأرجنتينمعلومات عامةالسنة 1977 البلد الأرجنتين 1976 في الأرجنتين 1978 في الأرجنتين تعديل - تعديل مصدري -...

ليندا.كوممعلومات عامةموقع الويب lynda.com (الإنجليزية) نوع الموقع عمل تجاري — شركة تعليمية التأسيس 1995 المنظومة الاقتصاديةالتأسيس 1995 المقر الرئيسي كاربينتيريا، سانتا باربارا، كاليفورنيا[1] الشركة الأم لينكد إن الصناعات تكنولوجيا التعليم — التدريب المهني في ألمانيا[1]

 

Untuk kegunaan lain, lihat Stirling. Stirling ialah sebuah kota di tengah Skotlandia. Kota ini pernah menjadi ibu kota Kerajaan Skotlandia. Dalam bahasa Gaelik Skotlandia, nama kota ini adalah Sruighlea. Stirling dahulu amat penting karena menjadi pusat Skotlandia. Kota ini adalah saksi bisu Pertempuran di Bannockburn dan Jembatan Stirling. Terdapat sebuah kastil di kota ini. Tempat terkenal Bannockburn Braehead Broomridge Cambusbarron Cambuskenneth Causewayhead Cornton Kings Park Raploch Riv...

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: 宮城県道・岩手県道18号本吉室根線 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年2月) 主要地方道 宮城県道18...

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (May 2020) Yahya Syed is a retired commodore of Bangladesh Navy and former Managing Director of Bangladesh Shipping Corporation.[1][2] Early life Syed joined Bangladesh Navy in 1981. He received training at the Britannia Royal Naval College. He was commissioned in 1983 in Bangladesh Navy. He received further specialized ...

 

1926 film The Eleven Schill OfficersDirected byRudolf MeinertWritten byMax Jungk [de; fr]Julius UrgißProduced byRudolf MeinertStarringRudolf MeinertGustav Adolf SemlerGrete ReinwaldLeopold von LedeburCinematographyLudwig Lippert [de; fr]ProductioncompanyInternationale FilmDistributed byMeinert FilmRelease date 27 August 1926 (1926-08-27) CountryGermanyLanguagesSilentGerman intertitles The Eleven Schill Officers (German: Die elf Schill'schen Offiziere)...

 

Mengoperasikan tetikus mekanikal.1. Bola akan berputar saat tetikus digerakkan.2. Penggulung X dan Y mencengkeram bola tersebut dan memindahkan gerakan.3. Cakram menerjemahkan gerakan menjadi kode optis lewat lubang cahaya. 4. LED inframerah memancar lewat cakram. 5. Sensor mengumpulkan pantulan cahaya untuk mengubah posisi X dan Y. Mouse adalah peranti penunjuk yang digunakan untuk memasukkan data dan perintah ke dalam komputer selain dengan papan ketik. Mouse memperoleh nama demikian karena...

Oído interno Diagrama de las estructuras del oído interno. Localización de la ventana oval (A) y ventana redonda (B) que comunican el oído medio con el oído interno.Nombre y clasificaciónLatín [TA]: auris internaTA A15.3.03.001Gray pág.1047Información anatómicaSistema Auditivo periféricoArteria Arteria laberíntica [editar datos en Wikidata] El oído interno o laberinto es una de las tres porciones en que se puede dividir el oído. El oído interno se localiza en el crán...

 

Railway station in Shiraoi, Hokkaido, Japan Station building Shadai Station (社台駅, Shadai-eki) is a train station in Shiraoi, Shiraoi District, Hokkaidō, Japan. Lines Hokkaido Railway Company Muroran Main Line Station H22 Adjacent stations « Service » Muroran Main Line Shiraoi - Nishikioka vteStations of the Muroran Main Line■ Oshamambe to Tomakomai Oshamambe Shizukari Koboro Rebun Ōkishi Toyoura Tōya Usu Nagawa Datemombetsu Kita-Funaoka Mareppu Kogane Sakimori Moto-Wanish...

 

1978 film by Donald Wrye This article is about the 1978 film. For the 2010 film, see Ice Castles (2010 film). For other uses, see Ice castle. Ice CastlesTheatrical release posterDirected byDonald WryeScreenplay by Donald Wrye Gary L. Baim Story byGary L. BaimProduced byJohn KemenyStarring Lynn-Holly Johnson Robby Benson Tom Skerritt CinematographyBill ButlerEdited by Michael Kahn Maury Winetrobe Melvin Shapiro Music byMarvin HamlischDistributed byColumbia PicturesRelease dateDecember 31, 1978...

This article is about Psalm 124 in Hebrew (Masoretic) numbering. For Psalm 124 in Greek Septuagint or Latin Vulgate numbering, see Psalm 125. Psalm 124If it had not been the LORD who was on our sideSong of AscentsPsalm 124 in the Erfurt EnchiridionOther name Psalm 123 (Vulgate) Nisi quia Dominus Related Wo Gott der Herr nicht bei uns hält Wär Gott nicht mit uns diese Zeit LanguageHebrew (original) Psalm 124← Psalm 123Psalm 125 →BookBook of PsalmsHebrew Bible partKetuvimOrder i...

 

У этого термина существуют и другие значения, см. Wolfenstein (значения).Wolfenstein: The New Order Разработчик MachineGames Издатель Bethesda Softworks Локализатор 1С-СофтКлаб Часть серии Wolfenstein Дата анонса 7 мая 2013 года Дата выпуска 20 мая 2014 года Жанр шутер от первого лица с элементами стелс-экшена Созд�...

 

كاس السوبر الالمانى 2019 البلد المانيا  الرياضه كورة قدم  الموسم 20  تاريخ 3 اغسطس 2019  عدد المشاركين الفرق المشاركه بايرين ميونخبوروسيا دورتموند  عدد المباريات تعديل  كاس السوبر الالمانى 2019 (بالانجليزى: 2019 DFL-Supercup) هوا موسم رياضى فى كورة قدم اتعمل فى المانيا سنة 2...

Place in Thrace, GreeceXanthi ΞάνθηFrom top, left to right: old town of Xanthi, monastery of Panagia Kalamou, Ottoman bridge Xanthi-Stavroupoli, Folk and History Museum (the old Tobacco Warehouse), Chapel of St. George and Archangel Michael, Xanthi's clocktower, a church in the city's old town.Xanthi Coordinates: 41°8′N 24°53′E / 41.133°N 24.883°E / 41.133; 24.883CountryGreeceGeographic regionThrace Administrative regionEastern Macedonia and ThraceRegional...

 

French physicist and writer Christophe GalfardGalfard in 2012Born1976 (age 46–47)NationalityFrenchAlma materÉcole Centrale ParisUniversity of CambridgeScientific careerFieldsTheoretical physics Christophe Galfard (born 1976 in Paris, France) is a French physicist and writer.[1] Biography After graduating from the École Centrale Paris in 1999 and specializing in theoretical physics,[2] he then obtained a PhD at the University of Cambridge under the supervision...

 
Kembali kehalaman sebelumnya