+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task2/pom.xml b/task2/pom.xml
new file mode 100644
index 0000000..b32ec1c
--- /dev/null
+++ b/task2/pom.xml
@@ -0,0 +1,12 @@
+
+
+ 4.0.0
+
+ nniit
+ task2
+ 1.0-SNAPSHOT
+
+
+
\ No newline at end of file
diff --git a/task2/src/main/java/sample/Client.java b/task2/src/main/java/sample/Client.java
new file mode 100644
index 0000000..43b3ae0
--- /dev/null
+++ b/task2/src/main/java/sample/Client.java
@@ -0,0 +1,35 @@
+package sample;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+
+public class Client {
+ private String aphorism;
+ private Socket server;
+ private BufferedReader reader;
+ private PrintWriter writer;
+
+ public Client() throws IOException {
+ server = new Socket("127.0.0.1", 8000);
+ reader = new BufferedReader(new InputStreamReader(server.getInputStream()));
+ writer = new PrintWriter(server.getOutputStream(), true);
+ }
+
+ public String getAphorism() {
+ return aphorism;
+ }
+
+ public void startClient(String message) throws IOException {
+ writer.println(message);
+ if (message.equals("exit")){
+ reader.close();
+ writer.close();
+ server.close();
+ }
+ else{
+ aphorism = reader.readLine();
+ }
+ }
+}
\ No newline at end of file
diff --git a/task2/src/main/java/sample/Controller.java b/task2/src/main/java/sample/Controller.java
new file mode 100644
index 0000000..d00e572
--- /dev/null
+++ b/task2/src/main/java/sample/Controller.java
@@ -0,0 +1,37 @@
+package sample;
+
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.TextArea;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ResourceBundle;
+
+public class Controller implements Initializable {
+ Client client;
+
+ @FXML
+ private TextArea taAphorism;
+
+ @FXML
+ public void onClickGet() throws IOException {
+ client.startClient("get");
+ taAphorism.setText(client.getAphorism());
+ }
+
+ @FXML
+ public void onClickExit() throws IOException {
+ client.startClient("exit");
+ System.exit(0);
+ }
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources) {
+ try {
+ client = new Client();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/task2/src/main/java/sample/Main.java b/task2/src/main/java/sample/Main.java
new file mode 100644
index 0000000..1b0814e
--- /dev/null
+++ b/task2/src/main/java/sample/Main.java
@@ -0,0 +1,22 @@
+package sample;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
+
+public class Main extends Application {
+
+ @Override
+ public void start(Stage primaryStage) throws Exception{
+ Parent root = FXMLLoader.load(getClass().getResource("/sample.fxml"));
+ primaryStage.setTitle("task2");
+ primaryStage.setScene(new Scene(root));
+ primaryStage.show();
+ }
+
+ public static void main(String[] args) {
+ launch(args);
+ }
+}
\ No newline at end of file
diff --git a/task2/src/main/java/sample/Server.java b/task2/src/main/java/sample/Server.java
new file mode 100644
index 0000000..933944d
--- /dev/null
+++ b/task2/src/main/java/sample/Server.java
@@ -0,0 +1,44 @@
+package sample;
+import java.io.*;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.ArrayList;
+import java.util.Random;
+
+public class Server {
+ private ArrayList aphorisms = new ArrayList<>();
+
+ public Server() throws IOException {
+ String line;
+ File file = new File("wisdom-utf8.txt");
+ BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF8"));
+ while ((line = reader.readLine()) != null) {
+ aphorisms.add(line);
+ }
+ reader.close();
+ }
+
+ public void startServer() throws IOException {
+ ServerSocket server = new ServerSocket(8000);
+ Socket client = server.accept();
+ BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
+ PrintWriter writer = new PrintWriter(client.getOutputStream(), true);
+
+ while (true) {
+ String input = reader.readLine();
+ if (input.equals("exit")) {
+ break;
+ }
+ int i = new Random().nextInt(aphorisms.size());
+ writer.println(aphorisms.get(i));
+ }
+ reader.close();
+ writer.close();
+ client.close();
+ }
+
+ public static void main(String[] args) throws IOException {
+ Server server = new Server();
+ server.startServer();
+ }
+}
\ No newline at end of file
diff --git a/task2/src/main/resources/sample.fxml b/task2/src/main/resources/sample.fxml
new file mode 100644
index 0000000..3a41c50
--- /dev/null
+++ b/task2/src/main/resources/sample.fxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/task2/target/classes/sample.fxml b/task2/target/classes/sample.fxml
new file mode 100644
index 0000000..3a41c50
--- /dev/null
+++ b/task2/target/classes/sample.fxml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/task2/target/classes/sample/Client.class b/task2/target/classes/sample/Client.class
new file mode 100644
index 0000000..29f3291
Binary files /dev/null and b/task2/target/classes/sample/Client.class differ
diff --git a/task2/target/classes/sample/Controller.class b/task2/target/classes/sample/Controller.class
new file mode 100644
index 0000000..8b0ae08
Binary files /dev/null and b/task2/target/classes/sample/Controller.class differ
diff --git a/task2/target/classes/sample/Main.class b/task2/target/classes/sample/Main.class
new file mode 100644
index 0000000..db09760
Binary files /dev/null and b/task2/target/classes/sample/Main.class differ
diff --git a/task2/target/classes/sample/Server.class b/task2/target/classes/sample/Server.class
new file mode 100644
index 0000000..3dbbc80
Binary files /dev/null and b/task2/target/classes/sample/Server.class differ
diff --git a/task2/task2.iml b/task2/task2.iml
new file mode 100644
index 0000000..c035f0b
--- /dev/null
+++ b/task2/task2.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task2/wisdom-utf8.txt b/task2/wisdom-utf8.txt
new file mode 100644
index 0000000..c4c71c5
--- /dev/null
+++ b/task2/wisdom-utf8.txt
@@ -0,0 +1,164 @@
+Бог - это специальная программа, установленная в душах верующих, а Дьявол - просто вирус в ней. (Сергей Федин) АФОРИЗМ БОГИ РЕЛИГИЯ
+Компьютерная игра настолько же хорошо заменяет игру вдвоем, насколько резиновая женщина настоящую. (Сергей Федин) АФОРИЗМ ЖЕНЩИНА ИГРА
+Моя любимая порода собак - @. (Сергей Федин) АФОРИЗМ ЖИВОТНЫЕ РАЗНОЕ
+Моя родина там, где мой компьютер. (Сергей Федин)
+Моя любимая порода собак - @. (Сергей Федин)
+Если на улице уже, кажись, закат, значит это восход. (GreeveX)
+Настоящий программист всегда выберет путь через 10 граблей, максимально обходя их, 20 рисков, максимально задумываясь о методе реализации(а не о том, что будет если риск не оправдается), нежели согласится выбрать путь саморазрушения и остановке развития через принятие идеи программерски не уважающего себя человека. (GreeveX)
+Инженер как врач общается с телом, программист как священник - с душой компьютера, а системный администратор как медсестра - поддерживает стабильное состояние. (Fobos (new_russian_man))
+Пока компьютер еще не научился самостоятельно мыслить, доверять ему можно. (Илья Герчиков) МЫСЛЬ РАЗУМ
+Компьютер позволяет решать все те проблемы, которые до появления компьютера не существовали. (Неизвестный автор)
+Программист - это не человек, это просто новая форма жизни. (Неизвестный автор)
+Если муху с монитора ты сгоняешь мишкой, значит, тебе пора идти домой. (Неизвестный автор)
+Трудное детство: Килобайтные игрушки. (Неизвестный автор)
+Если мысли не помещаются в голове, заархивируйте их. (Неизвестный автор)
+Если ваш компьютер завис: выдерните шнур, выдавите стекло. (Неизвестный автор)
+Самый страшный вирус всегда сидит перед компьютером. (Неизвестный автор)
+Бог придумал устройство, а сатана - драйвера. (Неизвестный автор)
+Прежде чем удалить файл, убедись, что он не твой. (Неизвестный автор)
+Если программист в 9-00 утра на работе, значит, он там и ночевал. (Неизвестный автор)
+Клавиатуру топтать - это вам не джойстиком баловаться. (Неизвестный автор)
+Бог смог сотворить мир всего за 6 дней только потому, что ему не надо решать проблемы совместимости с предыдущими версиями. (Неизвестный автор)
+Умный программист всегда сможет занять компьютер дурной работой. (Неизвестный автор)
+Ничего так не украшает женщину, как Фотошоп. (Неизвестный автор)
+Компьютерщик - это или диагноз, или ориентация. (Неизвестный автор)
+Первая заповедь программиста: не знаешь, что делать, делай что-нибудь. (Неизвестный автор)
+Умные пользуются компьютером, чтобы сберечь время, а дурные, чтобы его потратить. (Неизвестный автор)
+Он разогнал гостей, потом разогнал процессор. (Неизвестный автор)
+Вышедшая новая операционная система не требует наличия у вас компьютера. (Неизвестный автор)
+Возвращается муж неожиданно из Интернета: (Неизвестный автор)
+Если ваша программа работает медленно, значит, вы опередили время.
+Господи, не введи в искушение и избавь от Глюкавого. (Неизвестный автор)
+Кулер - тоже вертолет, но маленький. (Неизвестный автор)
+Жизнь - игра. Задумано плохо, но графика потрясающая. (Неизвестный автор)
+Ваши руки ввели идиотскую команду и будут ампутированы. (Неизвестный автор)
+Программы без ошибок можно написать двумя способами, но работает - третий. (Алан.Дж.Перлис)
+Подумайте, сколько психических сил потрачено на поиски коренного различия между "алгоритмом" и "программой". (Алан.Дж.Перлис)
+Когда изучаешь какой-либо вопрос, считаешь, что знаешь его; когда можешь писать о нем, становишься уверенней в своих знаниях; уверенность возрастает, когда можешь научить этому кого-нибудь другого; и совершенно уверен, когда начинаешь программировать. (Алан.Дж.Перлис)
+Благодаря своей жизненности программирование всегда испытывает отчаянную потребность в новых штампах: Банальность успокаивает нервы. (Алан.Дж.Перлис)
+Обучение детей программированию противоречит современной теории обучения. Разве интересно составлять планы, овладевать дисциплиной в организациии мышления, уделять внимание деталям и учиться быть самокритичным? (Алан.Дж.Перлис)
+Нельзя научиться программированию с помощью ручного калькулятора, но можно забыть арифметику. (Алан.Дж.Перлис)
+В хорошей системе не может быть слабого языка команд. (Алан.Дж.Перлис)
+В программировании средняя наработка на отказ постоянно уменьшается. (Алан.Дж.Перлис)
+Мы вот-вот сможем сказать: "Сегодня наша программа доказала теорему ферма". (Алан.Дж.Перлис)
+Там, где есть модульность, возможно непонимание: Сокрытие информации предполагает необходимость проверки связи. (Алан.Дж.Перлис)
+Отказ от языка ассемблера был яблоком раздора в наших садах эдема: Языки, использование которых приводит к растранжированию машинного времени, греховны. Лиспмашина сегодня позволяет своим программистам отказаться от фигового листка. (Алан.Дж.Перлис)
+Машины скорее обнаруживают наличие беспорядка, чем наводят порядок. (Алан.Дж.Перлис)
+Если мы верим в структуры данных, мы должны верить и в независимую (и потому одновременную) обработку. Зачем же еще собирать элементы в структуру? Почему мы терпим языки, которые дают нам одно, но не дают другое? (Алан.Дж.Перлис)
+Простота только мешает поиску недостижимого. Если существуют афоризмы, должны быть и метаафоризмы. (Алан.Дж.Перлис)
+Как только вы поняли, как писать программу, заставьте сделать это кого-нибудь другого. (Алан.Дж.Перлис)
+Если в вашей процедуре 10 параметров, вероятно, какой-нибудь пропущен. (Алан.Дж.Перлис)
+Афоризмы - это интерфейсы, по которым передается оценка и понимание. (Алан.Дж.Перлис)
+Для машин естественные языки не естественны. (Алан.Дж.Перлис)
+Лучше, чтобы в 100 функциях использовалась одна структура данных, чем в 10 функциях - 10 структур. (Алан.Дж.Перлис)
+Веками индейцы создавали язык знаков, чтобы сообщить друг другу самое интересное. Программисты из разных племен (фортрана, лиспа, алгола, снобола и т.Д.) Могли бы воспользоваться таким языком, который понятен и без классной доски. (Алан.Дж.Перлис)
+Не имейте хороших идей, если не хотите отвечать за них. (Алан.Дж.Перлис)
+Для дилетанта лучшим пособием по программированию служит "алиса в стране чудес" - только потому, что для него это лучшее пособие по любому предмету. (Алан.Дж.Перлис)
+Структурированное программирование потверждает закон исключенного третьего. (Алан.Дж.Перлис)
+Все нужно проектировать сверху вниз, за исключением фундамента, с которого нужно начинать. (Алан.Дж.Перлис)
+Каждая программа является частью другой программы и редко соответствует ей. (Алан.Дж.Перлис)
+Самая важная машина та, что "бушует" у нас в голове и все время ищет нужный ей внешний эмулятор. Стандартизация существующих машин была бы катастрофой, и потому она, вероятно, не произойдет.
+Афоризмы кристаллизуют несоответствия. (Алан.Дж.Перлис)
+Чтобы понять программу, необходимо отождествить себя и с машиной, и с программой. (Алан.Дж.Перлис)
+Когда кто-то говорит: "Мне нужен язык программирования, в котором достаточно только сказать, что мне нужно сделать", - дайте ему леденец. (Алан.Дж.Перлис)
+В английском языке любое слово может быть глаголом. Разве могло бы такое быть в языках программирования? (Алан.Дж.Перлис)
+Доказательство ценности системы - в ее существовании. (Алан.Дж.Перлис)
+Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые моугт избегать ее. Гении ее устраняют. (Алан.Дж.Перлис)
+Когда мы поймем машинные системы баз знаний, все будет, как и прежде, с той лишь разницей, что кончики пальцев будут обожжены. (Алан.Дж.Перлис)
+Нельзя перейти от неформального к формальному с помощью формальных средств. (Алан.Дж.Перлис)
+Программирование заставило дерево зацвести. (Алан.Дж.Перлис)
+Появление эвм в домах не изменит ни один из них, но может возродить салуны. (Алан.Дж.Перлис)
+Остерегайтесь бочки меда с ложкой дегтя тьюринга, где все возможно, но все интересное слишком сложно. (Алан.Дж.Перлис)
+Трудно выделить смысл из строк, но это единственная "монета" связи, на которую мы можем рассчитывать. (Алан.Дж.Перлис)
+Иногда мне кажется, что единственным универсумом в программировании является цикл. (Алан.Дж.Перлис)
+Некоторые языки программирования допускают изменения, но сопротивляются прогрессу. (Алан.Дж.Перлис)
+Легко сделать что-то переменным. Хитрость в том, чтобы измерять продолжительность постоянства. (Алан.Дж.Перлис)
+Афоризмы возвращают глубокое семантической значение из базы данных, которая представляет собой процедуру. (Алан.Дж.Перлис)
+Работу программистов следует оценивать не по их изобретательности и логике, а по полноте анализа каждой ситуации. (Алан.Дж.Перлис)
+Легче изменить спецификацию, чтобы она соответствовала программе, но не наоборот. (Алан.Дж.Перлис)
+Синтаксический сахар вызывает рак точек с запятой. (Алан.Дж.Перлис)
+Часто средства оправдывают цели: Цели порождают метод, а метод выживает, даже когда разрушаются структуры, бывшие ранее целью. (Алан.Дж.Перлис)
+Через пять лет у нас будет один суперязык программирования, только мы не можем установить начало этого пятилетнего периода. (Алан.Дж.Перлис)
+Продолжительный контакт с машиной превращает математиков в клерков, и наоборот. (Алан.Дж.Перлис)
+Все, что мы делаем в программировании - это частный случай чего-то более общего, и зачастую мы осознаем это чересчур быстро. (Алан.Дж.Перлис)
+Софтвер находится в постоянном напряжении. Поскольку он символичен, его можно постоянно совершенствовать, но и произвольно изменять. (Алан.Дж.Перлис)
+Афоризмы скорее подобны витаминам, чем белку. (Алан.Дж.Перлис)
+Функции задерживают связь, структуры данных стимулируют связь. Мораль: Структурируйте данные как можно позднее в процессе программирования. (Алан.Дж.Перлис)
+Единственная конструктивная теория, связывающая неврологию и психологию, возникает из исследований софтвера. (Алан.Дж.Перлис)
+Если при объяснении вашей программы слушатель начинает кивать головой, его пора будить. (Алан.Дж.Перлис)
+Программирование - это неестественный процесс. (Алан.Дж.Перлис)
+Когда мы пишем программы, которые "обучают", мы - обучаем, а они - нет.
+Афоризмы кристаллизуют несоответствия. (Алан.Дж.Перлис)
+Чтобы понять программу, необходимо отождествить себя и с машиной, и с программой. (Алан.Дж.Перлис)
+Когда кто-то говорит: "Мне нужен язык программирования, в котором достаточно только сказать, что мне нужно сделать", - дайте ему леденец. (Алан.Дж.Перлис)
+В английском языке любое слово может быть глаголом. Разве могло бы такое быть в языках программирования? (Алан.Дж.Перлис)
+Доказательство ценности системы - в ее существовании. (Алан.Дж.Перлис)
+Глупцы игнорируют сложность. Прагматики терпят ее. Некоторые моугт избегать ее. Гении ее устраняют. (Алан.Дж.Перлис)
+Когда мы поймем машинные системы баз знаний, все будет, как и прежде, с той лишь разницей, что кончики пальцев будут обожжены. (Алан.Дж.Перлис)
+Нельзя перейти от неформального к формальному с помощью формальных средств. (Алан.Дж.Перлис)
+Программирование заставило дерево зацвести. (Алан.Дж.Перлис)
+Появление эвм в домах не изменит ни один из них, но может возродить салуны. (Алан.Дж.Перлис)
+Остерегайтесь бочки меда с ложкой дегтя тьюринга, где все возможно, но все интересное слишком сложно. (Алан.Дж.Перлис)
+Трудно выделить смысл из строк, но это единственная "монета" связи, на которую мы можем рассчитывать. (Алан.Дж.Перлис)
+Иногда мне кажется, что единственным универсумом в программировании является цикл. (Алан.Дж.Перлис)
+Некоторые языки программирования допускают изменения, но сопротивляются прогрессу. (Алан.Дж.Перлис)
+Легко сделать что-то переменным. Хитрость в том, чтобы измерять продолжительность постоянства. (Алан.Дж.Перлис)
+Афоризмы возвращают глубокое семантической значение из базы данных, которая представляет собой процедуру. (Алан.Дж.Перлис)
+Работу программистов следует оценивать не по их изобретательности и логике, а по полноте анализа каждой ситуации. (Алан.Дж.Перлис)
+Легче изменить спецификацию, чтобы она соответствовала программе, но не наоборот. (Алан.Дж.Перлис)
+Синтаксический сахар вызывает рак точек с запятой. (Алан.Дж.Перлис)
+Часто средства оправдывают цели: Цели порождают метод, а метод выживает, даже когда разрушаются структуры, бывшие ранее целью. (Алан.Дж.Перлис)
+Через пять лет у нас будет один суперязык программирования, только мы не можем установить начало этого пятилетнего периода. (Алан.Дж.Перлис)
+Продолжительный контакт с машиной превращает математиков в клерков, и наоборот. (Алан.Дж.Перлис)
+Все, что мы делаем в программировании - это частный случай чего-то более общего, и зачастую мы осознаем это чересчур быстро. (Алан.Дж.Перлис)
+Софтвер находится в постоянном напряжении. Поскольку он символичен, его можно постоянно совершенствовать, но и произвольно изменять. (Алан.Дж.Перлис)
+Афоризмы скорее подобны витаминам, чем белку. (Алан.Дж.Перлис)
+Функции задерживают связь, структуры данных стимулируют связь. Мораль: Структурируйте данные как можно позднее в процессе программирования. (Алан.Дж.Перлис)
+Единственная конструктивная теория, связывающая неврологию и психологию, возникает из исследований софтвера. (Алан.Дж.Перлис)
+Если при объяснении вашей программы слушатель начинает кивать головой, его пора будить. (Алан.Дж.Перлис)
+Программирование - это неестественный процесс. (Алан.Дж.Перлис)
+Когда мы пишем программы, которые "обучают", мы - обучаем, а они - нет.
+В программных системах зачастую "кто рано встает, того удача ждет". (Алан.Дж.Перлис)
+Рекурсия - основа программирования, поскольку она сокращает время написания программы. (Алан.Дж.Перлис)
+Если бы мы писали программы с детства, то с годами, возможно, научились бы их читать. (Алан.Дж.Перлис)
+Перспективность программиста можно оценить, узнав его мнение о жизнеспособности фортрана. (Алан.Дж.Перлис)
+Для систем аналогом пластической операции является введение в управляюший граф ребра, которое создает цикл, а не просто еще одну вершину. (Алан.Дж.Перлис)
+Эвм напоминает Лона Чени - это машина с тысячью лиц.
+Лон Чени написал детектив "человек с тысячью лиц". (Алан.Дж.Перлис)
+Редактирование - это выражение того же, но другими словами. (Алан.Дж.Перлис)
+Афоризмы пропускют подробности и выделяют главное: Это превосходная документация высокого уровня. (Алан.Дж.Перлис)
+Никогда не кончатся объекты программирования, пока у нас под рукой есть хотя бы одна программа. (Алан.Дж.Перлис)
+Одиннадцатая заповедь гласит: "Вычисляй" или "не вычисляй" - я уже не помню. (Алан.Дж.Перлис)
+У каждой программы (по крайней мере) два назначения: Что она должна делать и чего не должна. (Алан.Дж.Перлис)
+Возможно ли, что программное обеспечение не похоже ни на что другое; что оно создано для того, чтобы от него отказались со временем; что все дело в том, чтобы оно всегда оставалось для нас мыльным пузырем? (Алан.Дж.Перлис)
+Как сказал бы уилл роджерс: "В природе нет такой вещи, как свободная переменная". (Алан.Дж.Перлис)
+Афоризмы - это макросы, поскольку они выполняются в ходе чтения. (Алан.Дж.Перлис)
+Если вы можете представить себе общество, где лакеями будут роботы, вы можете представить все, что угодно. (Алан.Дж.Перлис)
+Афоризмы параметризуют нимбы святости. (Алан.Дж.Перлис)
+Почему распалась римская империя? Как по-латыни автоматизация конторских работ? (Алан.Дж.Перлис)
+Не стоит изучать язык, который не меняет вашего представления о программировании. (Алан.Дж.Перлис)
+Не путайте: Машины обрабатывают числа, а не символы. Мы измеряем свое понимание (и контроль) степенью арифметизации деятельности. (Алан.Дж.Перлис)
+Язык программирования имеет низкий уровень, если в программах приходится уделять внимание несущественному. (Алан.Дж.Перлис)
+Хотя китайцы должны были бы обожать арL, они вкладывают деньги в фортран. (Алан.Дж.Перлис)
+Адекватная самораскрутка - явное противоречие. (Алан.Дж.Перлис)
+Адаптировать старые программы к новым машинам обычно означает заставить новые машины работать по-старому. (Алан.Дж.Перлис)
+Мы всегда хотим сказать в своих программах что-то такое, что на всех известных языках можно сказать только плохо. (Алан.Дж.Перлис)
+Подумать только! С помощью сверхбольших интегральных схем мы можем упаковать 100 "эниаков" в 1 кв.См. (Алан.Дж.Перлис)
+Реальная графика: Для описания картинки необходимо 10к слов. Но едва ли можно описать какое-либо множество из 10к слов с помощью картинок. (Алан.Дж.Перлис)
+Года работы над искусственным интеллектом достаточно, чтобы заставить поверить в бога. (Алан.Дж.Перлис)
+В конечном счете каждая программа устаревает, как и рококо, а потом и вовсе умирает. (Алан.Дж.Перлис)
+Лисп-программисту известна ценность всего, но неизвестна цена чего бы то ни было. (Алан.Дж.Перлис)
+Чисто прикладные языки плохо применимы. (Игра слов аррLIсатIVе и аррLIсавLе). (Алан.Дж.Перлис)
+Не слабости, а достоинтсва языка определяют направления его изменений. Увы, язык никогда не сможет избавиться от своего эмбрионального мешка. (Алан.Дж.Перлис)
+В программировании превращение очевидного в полезное - это точное определение слова "разочарование". (Алан.Дж.Перлис)
+Документация подобна страхованию на неопределенный срок: Она удовлетворяет всех, поскольку почти никто из подписавшихся на нее не зависит от ее преимуществ. (Алан.Дж.Перлис)
+Ваять можно научить каждого, но тогда пришлось бы учить микеланджело, как не делать этого. То же самое - с великими программистами. (Алан.Дж.Перлис)
+Не стоит писать программу без цикла и структурированной переменной. (Алан.Дж.Перлис)
+Всякий раз, когда два программиста встречаются для критического анализа своих программ, они оба молчат. (Алан.Дж.Перлис)
+Так много хороших идей исчезает бесследно, попав в пучину семантики. (Алан.Дж.Перлис)
+Использование программы для доказательства теоремы о четырех красках не изменит математики. Оно просто покажет, что задача, которая оставалась нерешенной в течении столетия, возможно, не так уж важна для математики. (Алан.Дж.Перлис)
+Если ваша машина говорит по-английски, ее, вероятно, сделали в японии. (Алан.Дж.Перлис)
+Машина не виновата в том, что уравнения максвелла не подходят для проектирования электромотора. (Алан.Дж.Перлис)
+В программировании, как и везде, ошибаться - значит рождаться заново. (Алан.Дж.Перлис)
+Кибернетический обмен между человеком, машиной и алгоритмом подобен игре в "музыкальные стулья": Неистовый поиск равновесия всегда оставляет одного из трех неловко стоять. (Алан.Дж.Перлис)
+В программировании инварианты эфемерны. (Алан.Дж.Перлис)
\ No newline at end of file
diff --git a/task3/.idea/artifacts/task3_jar.xml b/task3/.idea/artifacts/task3_jar.xml
new file mode 100644
index 0000000..ce6f551
--- /dev/null
+++ b/task3/.idea/artifacts/task3_jar.xml
@@ -0,0 +1,14 @@
+
+
+ $PROJECT_DIR$/out/artifacts/task3_jar
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/compiler.xml b/task3/.idea/compiler.xml
new file mode 100644
index 0000000..06c5322
--- /dev/null
+++ b/task3/.idea/compiler.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/description.html b/task3/.idea/description.html
new file mode 100644
index 0000000..cc10d56
--- /dev/null
+++ b/task3/.idea/description.html
@@ -0,0 +1,2 @@
+Simple JavaFX 2.0 application that includes simple .fxml file with attached controller and Main class to quick start. Artifact to build JavaFX application is provided.
+
\ No newline at end of file
diff --git a/task3/.idea/encodings.xml b/task3/.idea/encodings.xml
new file mode 100644
index 0000000..97626ba
--- /dev/null
+++ b/task3/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/gradle.xml b/task3/.idea/gradle.xml
new file mode 100644
index 0000000..3e3960b
--- /dev/null
+++ b/task3/.idea/gradle.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1_1.xml b/task3/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1_1.xml
new file mode 100644
index 0000000..f3f3738
--- /dev/null
+++ b/task3/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/libraries/Maven__junit_junit_4_10.xml b/task3/.idea/libraries/Maven__junit_junit_4_10.xml
new file mode 100644
index 0000000..ed8bf5f
--- /dev/null
+++ b/task3/.idea/libraries/Maven__junit_junit_4_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml b/task3/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml
new file mode 100644
index 0000000..acdf443
--- /dev/null
+++ b/task3/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task3/.idea/misc.xml b/task3/.idea/misc.xml
new file mode 100644
index 0000000..62f90ed
--- /dev/null
+++ b/task3/.idea/misc.xml
@@ -0,0 +1,16 @@
+
+
+
+