Держите задачку.
В программе определены класс Shape и его наследник класс Circle:
1 class Shape {
2 double square;
3 Shape(double r){
4 square = 3.14 * r* r;
5 }
6 }
7 class Circle extends Shape {
8 double r;
9 Circle (double rad) {
10 r = rad;
11 super(rad);
12 }
13 }
Выполнение программы завершилось ошибкой.
В программе определены класс Shape и его наследник класс Circle:
1 class Shape {
2 double square;
3 Shape(double r){
4 square = 3.14 * r* r;
5 }
6 }
7 class Circle extends Shape {
8 double r;
9 Circle (double rad) {
10 r = rad;
11 super(rad);
12 }
13 }
Выполнение программы завершилось ошибкой.
Какие изменения необходимо включить в текст программы, чтобы исключить ошибку?
Anonymous Quiz
8%
добавить в описание класса Circle описание конструктора без параметров
64%
изменить очередность следования строк 10 и 11
8%
изменить имя переменной в строке 3 на отличное от r и rad
13%
заменить ключевое слово super в строке 11 на Shape
8%
добавить в описание класса Shape описание конструктора без параметров
GitHub рассказали, что почти треть нового кода на платформе написана с помощью сервиса на базе искусственного интеллекта Copilot.
В комментариях к новости кто-то уже успел похоронить профессию программиста. Забавно, но рановато. Да и сам инструмент пока скорее для фана, чем для реальной пользы – лучше самому написать, чем потом переписывать 40% кода нейросети. Для новичков тоже польза сомнительная, особенно для тех, у кого еще база в голове окончательно не сложилась.
Посмотрим, как все будет развиваться дальше.
В комментариях к новости кто-то уже успел похоронить профессию программиста. Забавно, но рановато. Да и сам инструмент пока скорее для фана, чем для реальной пользы – лучше самому написать, чем потом переписывать 40% кода нейросети. Для новичков тоже польза сомнительная, особенно для тех, у кого еще база в голове окончательно не сложилась.
Посмотрим, как все будет развиваться дальше.
vc.ru
GitHub рассказала, что почти треть нового кода на платформе написана с помощью ИИ-сервиса Copilot — Разработка на vc.ru
А половина разработчиков продолжила использовать Copilot после пробного периода.
Опубликовали обзор проходившей 25-28 октября конференции для Java-разработчиков Joker 2021.
Есть довольно интересные доклады, вот эти два сохранил себе для ознакомления:
🔺Java-объекты наизнанку
🔺Выходя за рамки контейнера — компактные и быстрые контейнеры с нативным образом (и без)
А открыли конференцию докладом Самопишущийся код, я как раз недавно писал о том, эффективно ли писать код с помощью Copilot и нейросетей вообще.
Считаю, полезно будет изучить.
Есть довольно интересные доклады, вот эти два сохранил себе для ознакомления:
🔺Java-объекты наизнанку
🔺Выходя за рамки контейнера — компактные и быстрые контейнеры с нативным образом (и без)
А открыли конференцию докладом Самопишущийся код, я как раз недавно писал о том, эффективно ли писать код с помощью Copilot и нейросетей вообще.
Считаю, полезно будет изучить.
Хабр
Joker 2021: прошедшая Java-конференция и общая статистика
Закончилась конференция для Java-разработчиков Joker 2021 , проходившая с 25 по 28 октября 2021 года. Мероприятие стало четвёртым из девяти конференций, проводимых в этом году компанией JUG Ru Group в...
Heaton-Introduction to Neural Networks with Java.pdf
3.5 MB
Подойдет даже совсем новичкам: примеры кода тут простые, их легко разбирать (иногда в процессе даже становится скучно). Но от книги со словом Introduction в названии ничего суперсерьезного ждать и не надо. Кратко изложена теория, много практики – для знакомства с нейросетями вполне годится.
В программе приведено следующее описание класса Perimetr:
abstract class Perimetr {
double perimetr;
abstract public void setPerimetr(double p);
}
abstract class Perimetr {
double perimetr;
abstract public void setPerimetr(double p);
}
Какие нижеперечисленные фрагменты кода допустимы?
Anonymous Quiz
8%
Perimetr sh = new Perimetr; sh.setPerimetr(55.2);
46%
class Triangle extends Perimetr { public void setPerimetr(double p) { this.perimetr = p; } }
8%
class Circle extends Perimetr { double rad; final float PI = 3.14; }
8%
class Triangle extends Perimetr { void setPerimetr(double p) { this.perimetr = s; } }
31%
класс Perimetr описан неверно. программа завершится ошибкой
Появился отличный перевод статьи Pierre-Yves Saumont про абстракции в ФП и ООП. Задача для примера выбрана не слишком близкая к реальности, зато все расписано предельно понятно.
Полезно прочитать, если хотите:
🔹сравнить практики в ООП и ФП
🔹понять, почему доведение абстракции до предела бывает полезно и в ООП
🔹пофилософствовать на тему: «является ли преждевременная абстракция/оптимизация злом?»
Люблю, когда материал заставляет сместить фокус внимания с привычных методов решения задач – это помогает держать себя в форме.
Кому интересно, оригинал можно почитать здесь.
Полезно прочитать, если хотите:
🔹сравнить практики в ООП и ФП
🔹понять, почему доведение абстракции до предела бывает полезно и в ООП
🔹пофилософствовать на тему: «является ли преждевременная абстракция/оптимизация злом?»
Люблю, когда материал заставляет сместить фокус внимания с привычных методов решения задач – это помогает держать себя в форме.
Кому интересно, оригинал можно почитать здесь.
Хабр
Уроки абстракции: чему FP может научить ООП
Абстракция - один из величайших инструментов воображения, когда-либо изобретенных людьми для представления, расшифровки и изображения мира. - Джерри Зальц Я хочу приблизиться к истине настолько...
Pierre-Yves Saumont, Functional Programming in Java
Раз уж на днях публиковал ссылку на статью Pierre-Yves Saumont, надо вспомнить и его книгу.
Раз уж на днях публиковал ссылку на статью Pierre-Yves Saumont, надо вспомнить и его книгу.
Pierre_Yves_Saumont_Functional_Programming_in_Java_How_functional.pdf
6.4 MB
Из плюсов:
✅ глубокое и подробное погружение в тему. После прочтения можно смело браться за Haskell, F# – что захотите, база у вас уже будет;
✅ в процессе реально понимаешь, как сделать свой код более читабельным, думая функционально.
Из минусов:
❓решения некоторых задач откровенно странные. Да, автор демонстрирует принципы ФП в ООП-языке, но местами эффективность от этого страдает, а не повышается.
✅ глубокое и подробное погружение в тему. После прочтения можно смело браться за Haskell, F# – что захотите, база у вас уже будет;
✅ в процессе реально понимаешь, как сделать свой код более читабельным, думая функционально.
Из минусов:
❓решения некоторых задач откровенно странные. Да, автор демонстрирует принципы ФП в ООП-языке, но местами эффективность от этого страдает, а не повышается.
В программе приведено следующее описание:
1 class A {
2 int a;
3 int b;
4 }
5 class B extends A{
6 int b;
7 ...
8 }
1 class A {
2 int a;
3 int b;
4 }
5 class B extends A{
6 int b;
7 ...
8 }
Каким кодом необходимо дополнить описание конструктора класса B, наследующего класс A, чтобы при создании объекта класса B переменные класса A принимали значение 1?
Anonymous Quiz
7%
a.A = b.A = 1;
60%
super.a=1; super.b = 1;
16%
A.a = 1; A.b = 1;
4%
sup.a = 1; sup.b = 1;
13%
a.super() = 1; b.super() = 1;
Не каждый программист захочет разбираться в том, как устроена процедура вывода типов выражений. Но я считаю, что попробовать нужно – чтобы лучше понимать поведение компилятора. А еще потому, что от привычки анализировать напрямую зависит наш профессиональный навык.
Как раз недавно нашел статью про вывод типов.
Ожидал, что читать будет сложно, но написано доступно, все по полочкам – четко обозначены нужные нам контексты для поли-выражений, даны ссылки на соответствующие главы спецификации.
Будет полезно ознакомиться, даже если вы не планируете углубляться в детали.
Как раз недавно нашел статью про вывод типов.
Ожидал, что читать будет сложно, но написано доступно, все по полочкам – четко обозначены нужные нам контексты для поли-выражений, даны ссылки на соответствующие главы спецификации.
Будет полезно ознакомиться, даже если вы не планируете углубляться в детали.
ods-java-pat-morin.pdf
1.4 MB
Книга позиционируется как введение в структуры данных, но на деле не так проста.
Читайте, если вы:
✅ уже знакомы с базой по структурам данных (с работами Лафоре, например);
✅ хотите подробнее углубиться в тему или освежить знания;
✅ любите максимально подробные (местами даже душные) разборы примеров.
Вам не подойдет, если:
⛔️ только начинаете изучать вопрос. Для этого можно познакомиться с Лафоре, на канале я делился книгой, пару курсов тоже рекомендовал).
Читайте, если вы:
✅ уже знакомы с базой по структурам данных (с работами Лафоре, например);
✅ хотите подробнее углубиться в тему или освежить знания;
✅ любите максимально подробные (местами даже душные) разборы примеров.
Вам не подойдет, если:
⛔️ только начинаете изучать вопрос. Для этого можно познакомиться с Лафоре, на канале я делился книгой, пару курсов тоже рекомендовал).
Чему равен элемент массива a с индексом [51]?
int a []= new int [100];
for (int i = 0, j = 100; i < 100; i++, j--){
a[i] = i + j;
System.out.print(a[i]);
}
int a []= new int [100];
for (int i = 0, j = 100; i < 100; i++, j--){
a[i] = i + j;
System.out.print(a[i]);
}