Неделя 1/12

9.21.2020

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

Я всегда думал, что буду изучать древнегреческий язык, когда выйду на пенсию, потому что никто не «говорит» на древнегреческом: на самом деле нет ни фонологии, ни фонетики, которые можно было бы освоить, как изучение живого языка, поэтому мне не нужен был бы никто, кроме меня самого, и много свободного времени. время. Языки программирования примерно такие, без гомеровских эпосов, конечно. Вам все еще нужно изучать морфологию и семантику, но вы можете обойти фонетику, фонологию и прагматику. Хорошо учиться, когда вы застряли дома во время пандемии, потому что все, что вам нужно для погружения, — это компьютер; билет на самолет не участвует.

Я бы солгал, если бы сказал, что предпочел бы провести дни в приюте, изучая языки программирования, а не древнегреческий. В конце концов, знание древнегреческого языка не приносит домой причудливого органического бекона (я уверен, не будет сюрпризом услышать, что инженеры-программисты зарабатывают в среднем в три раза больше, чем древнегреческие учителя, и для этого не требуется ученая степень). ), и кажется, что только разработка программного обеспечения может объединить мои бесчисленные увлечения. Итак, застряв в маленьком городке в Калифорнии, где есть «Мейн-стрит» и «Черч-стрит», я организовал учебный лагерь по разработке программного обеспечения. Одиннадцать часов в день, шесть дней в неделю; Мне суждено чему-то научиться в конце трех месяцев.

9.23.2020

Может быть, это никого не удивляет, но языки программирования тоже лишние: есть синонимы. Например, сегодня мы узнали о тестах:

Chai, библиотека, используемая для тестирования кода, утверждает, что выбор между использованием «следует», «ожидает» и «утверждает» позволяет использовать «выразительный язык». Другими словами, эти слова имеют один и тот же вывод, но если вы чувствуете себя действительно уверенно, вы можете использовать структуру assert, или, если вы чувствуете себя немного пристрастно, вы можете выбрать должен. Язык, который вы используете, полностью зависит от вас и стиля, к которому вы стремитесь — например, предпочитаете говорить «чрезмерно» вместо «лишнего». Я выбрал напористый вариант, чтобы придать себе уверенности.

9.25.2020

Раньше я проводил четкое различие между языками программирования и человеческимиязыками, но, поскольку языки программирования создаются людьми, мне не очень удобно использовать эти различающие термины. Я попробую сравнить «естественные языки» с «языками программирования» и посмотрю, как это будет выглядеть.

9.26.2020

Как и естественные языки, языки программирования подлежат эквиваленту грамматикализации, в основном изменению языка. Это кажется довольно интуитивным, поскольку технологии в настоящее время развиваются и совершенствуются.

На этой неделе я заметил несколько аналогий, вращающихся вокруг:

фонетическая эрозия: сокращение или опущение определенных звуков в данном утверждении.

Классический пример из английского:

«Собираюсь» → «собираюсь» (или даже «я собираюсь» → «я собираюсь» → «я мма») и «потому что» → «потому что»

И в Javascript:

// Function expression
const greet = function(who) {
  return `Hello, ${who}`;
}

становится

const greet = (who) => {
  return `Hello, ${who}!`;
}

где «функция»опущена в пользу стрелки. Мой любимый пример фонетической эрозии языка программирования — введение тернарного оператора, который заменяет некоторый синтаксис пунктуацией.

var age = 19; 
var canDrive; 
if (age > 16) { 
canDrive = ‘yes’; 
} else { 
canDrive = ‘no’; 
}

становится

var age = 19; 
var canDrive = age > 16 ? 'yes' : 'no';

Это как сокращение,

«Есть CanDrive. Если возраст больше 16 лет, canDrive — да. В противном случае canDrive — нет».

=>

«Возраст больше 16? canDrive — да, иначе — нет».

«Эрозионная» версия Javascript менее многословна и более лаконична, как и ее переведенный аналог!