41

(13 відповідей, залишених у Вибір подальшого шляху)

Як Ви вважаєте для початку книжка Хорстман 8 видання підійде?

Підійде. Дуже хороша книжка я читав 7 видання. Проте початки програмування там дещо слабо розписано. Тобто якщо Pascale добре засвоїли (маєте поняття про змінні, оператори, цикли та масиви) то можна братися. Якщо ні раджу Шилдт почитати - він непогано описує основи програмування, проте більш складніші теми як на мене дуже погано описано. Тож для повного початківця пів книжки Шидта почитати, а далі Хорстмана.

Проте одної книжки зараз мало, хоч вона і двотомна. Все залежить в якому місті ви хочете стати junior. В Києві навіть на Junior дуже високі вимоги по знаннях.

42

(12 відповідей, залишених у Java)

З даною книгою не знайомий. При спробі скачати з інтернету замість неї в основному качається не ця книга, а книга Шилдт + Нортон "Java2: Полное руководство".  Очевидно так боряться з піратством, щоб люди купляли книги, а не скачували. Так що впевніться що у вас саме " Java: руководство для начинающих".

Щодо книги (Шилдт + Нортон "Java Полное руководство") - доволі непогано було розписано початки java. . Але знову ж краще брати поновішу книгу, здається зараз є вже 7ме видання.  Те що я скачував намагаючись звантажати згадувану вами книгу, було доволі старим виданням. В мене таке на полці лежить.  Пів книги були непогані, замість іншої половини де починається тема аплетів, я б радив читати Хорстмана (Java2: Библиотека проффесионала, зараз уже є 8-ме видання) - у нього майже не розписані основи Java, як то робота зі змінними, циклами, умовами і т.д., проте ООП та пакети Java дуже добре розписано.

Якщо у вас все ж є справжнє видання "Герберт Шилдт    Java: руководство для начинающих, 5-е издание", думаю що там багато чого із попередньої його книги і думаю для повних початківців у програмування підійде. Якщо є досвід програмування то радив би Хорстмана читати.

43

(26 відповідей, залишених у Java)

Див. youtube Мирончик И.Я. - маса записів його курсів для початковців і вище, правда деякі відеолекції дещо обрізані.

Взагалі моя думка, що спочатку варто самому підчитати дещо, а потім іти на курси, більше толку буде з курсів і власне вже можна буде орієнтуватися які курси вибрати...

44

(14 відповідей, залишених у Java)

Я прихильник Java:) По C# лише колись давненько одну книжку почитав, проте інколи доводиться і почитувати щось написане на С#:) Як на мене власне самі мови вчити однаково і можливості схожі. Основне добре засвоїти основи ООП. Такі поняття як класи, об'єкти, інкапсуляція,  успадкування, поліморфізм  - усе це треба добре розібрати. Практично усе працює схоже і на С# і на Java. Ось це і є "мінімалка" для цих мов, яку треба розібрати до дрібничок і без цього дальше не поїдеш.

Дальше освоєння Java полягає у вивченні різних класів, бібліотек, прийомів роботи з ними, алгоритмів, патернів і т.п., на що відповідно потрібен час. Якщо є досвід на іншій мові зі схожими елементами буде легше, якщо з нуля це все освоювати, то на освоєння нової теорії і засобів потрібен час і практика. Що вчити вам вирішувати:)

Якщо вже налаштувалися на вивчення програмування, то треба налаштувати себе що вчитися потрібно багато і чималих речей, як вже сказано тут загалом однозначно потрібно вчити бази даних, HTML, CSS, JavaScript, теорію комп'ютерних мереж і т.п.

Щодо математики, мінімальні знання завжди потрібні, якісь задачі можна вирішувати і без вищої математики, проте де гарантія що вам не скажуть реалізувати якусь задачу де потрібне буде застосування серйозних математичних методів з похідними, інтегралами, матрицями і т.п. Чим більше програміст знає тим краще для нього ж самого в плані його затребованості і відповідно в грошовому плані:)

45

(5 відповідей, залишених у Java)

Не варто змішувати awt компоненти та JSwing. Замість класу Container раджу використовувати JPanel.

метод setForeground доволі часто ігнорується, скоріш за все він спрацьовує лише коли на певний контейнер виводити напряму текст. Ви ж використовуєте мітки, тож якщо хочете змінити колір написів в мітках:

lName.setForeground(Color.RED);

46

(21 відповідей, залишених у Java)

Eclipse, NetBeans, JDeveloper - ті з якими працював. В принципі особливої різниці в роботі немає. Можливості схожі. Проблеми можуть виникнути коли потрібен якийсь специфічний засіб. Наприклад, у мене з NetBeans свого часу виникла проблема з побудовою UML діаграм (навщо діаграми? просто треба було дещо намалювати). Чесно говорячи в мене виникла проблема або ж користуватися старішими версіями NetBeans, або розбиратися як усе налаштувати у нових версіях. В результаті через лінь сильно вникати, я перейшов на JDeveloper де є хороший вбудований редактор UML діаграм. Проте це свого роду монстр для оперативної пам'яті як і NetBeans. Eclipse - доволі швидкий і його часто використовую, щоб швидко спробувати приклади програм, але він мені візуально якось не подобається:))) Хоча це вже більше питання смаку...

47

(7 відповідей, залишених у Java)

В колекціях вже реалізовано ряд корисних алгоритмів. Для невеликих задач можна користуватися масивами. Проте при великій та ще й змінній кількості даних, краще користуватися колекціями. Плюс деякі класи з колекції спеціально створені для ефективної роботи з такими даними. Самостворені алгоритми роботи з масивами можуть працювати набагато повільніше, все ж над класами колекцій міркують чимало людей.

48

(6 відповідей, залишених у Java)

Свого часу про інтерфейси дещо написав тут:

http://uk.wikibooks.org/wiki/%D0%9E%D1% … 1.81.D0.B8

А в цілому вам уже все відписали. Інтерфейси - це свого роду домовленість про структуру майбутніх класів. Це аналог абстрактних класів, проте ви можете розширите лише один клас. Інтерфейсів же можна реалізувати декілька в одному класі. Щоб зрозуміти до кінця, потрібно добре розібратися з механізмом успадкування в Java та поліморфізмом.

49

(7 відповідей, залишених у Java)

Java - це основа. Можете вчити і 1.7 просто потрібно пам'ятати, що дещо може не працювати на 1.6. Хоча цього "дещо" не так вже й багато. При програмуванні на андроїді під 1.6, вам все рівно прийдеться враховувати це. Але вивчати краще якомога новіше. Оскільки його скоріш за все все рівно прийдеться засвоювати.

Власне я з програмуванням під андроїд поверхнево знайомий. Проте консультуючи друга, який цим пробував займатися, але не дуже добре знав Java, скажу, що основне це знати принципи ООП в Java. Досконало розуміти принципи побудови класів, що таке поліморфізм, механізм наслідування і т.п. Так що основне освоїти це, а вже різниці між версіями це другорядне.

50

(2 відповідей, залишених у Java)

Візуалізувати я так розумію, потрібно зобразити монітор кавового автомату. Нічого складного, але награтися потрібно. Навряд чи хтось напише за вас цю програму. По ходу написання на окремі нюанси може хтось допомогти, але писати за вас повністю ніхто не буде. Потрібно щоб був вільний час і бажання.

Подумайте які класи потрібні. Тобто які речі потрібні для автомата:

1) кава
2) молоко
3) стаканчики
4) цукор
....

Треба глянути що ще може бути в справжньому автоматі.
Основний клас можна так і назвати автомат :)

Кожен клас сам веде облік речей. Наприклад можна зробити клас кава так (накинув грубо що придумалось):

public class Coffe{
double countPortin=100; // можна додати метод, який би задавав кількість кави

// при видачі користувачу, зменшуємо кількість кави
boolean getCoffe(int portion){
countPortion=-portion; //
if (countPortion<0) return false else return true;
}
}

Схожа структура і в інших класів.

Візуалізуємо все це: відображаємо вікно (Frame), додаємо панель, на панелі додаємо кнопки (чи прапорці) і відповідний менеджер розташування (або ж робимо все у якомусь графічному середовищі). По центру лишаємо місце для зображення процесу. Зліва, справи кнопки з написами для замовлення.

Коли натиснули кнопку "Замовити" (чи як там в автоматі, краще піти і зробити фото справжнього автомату), програма враховує які кнопки натиснуто, просить ввести гроші, вузуалізує якось процес отримання і далі якщо грошей достатньо викликає відповідні класи по видачі кави, цукру і т.д. Слідкуючи чи хватає:

if (!myglass.getClass) ....//якщо немає стаканчиків ....
if (!myCoffe.getCoffe()) ....; якщо немає кави ....
if (!mySugar.getSugar (2)) //якщо немає цукру....

Можна перевірку кількості зробити спочатку, коли лишень користувач вибирає, що він хоче...

В загальному нічого складного. Але потрібно награтися. Коли вмієш працювати з графічний інтерфейсом користувача і в загальному знаєш Java, напишеш.

51

(12 відповідей, залишених у Java)

Насправді не все так просто, я вже по трішки "в'їхав":) більш глибше в тему стеку, там доволі обширна термінологія. Причому навіть в англійській вона дещо неоднозначна і є кілька варіантів одних і тих же термінів пов'язаних із стеком.

stack trace - це просто звіт про активні stack frames або ж activation records. Тому я і вживав відбиток, який має більш ширше значення ніж слід.

ВІДБИТОК, тка, чол.

1. Слід, витиснений на чомусь, у чомусь. Відбитки широких лап показували, що завдовжки він [ведмідь] сягав до двох метрів (Микола Трублаїні, I, 1955, 170);

5. Відображення предмета на дзеркальній, полірованій поверхні, у воді тощо; віддзеркалення. Темні верби посхиляли Свої віти молоді. Не здригне, не сколихнеться їх відбиток у воді... (Євген Фомін, Вибр., 1958, 241);

наведене вами значення позначено як переносне:

6. перен. Ознака, яка є результатом впливу чого-небудь (стану, середовища, подій і т. ін.). Помітивши на лиці в нього відбиток не то жаху, не то нелюдського здивування,., відрекомендував: — Моя донька — Назіра-хон (Іван Ле, Міжгір'я, 1953, 226); Відбиток його [Т. Шевченка] геніального творчого духу лежить на багатьох творах братніх письменників (Максим Рильський, III, 1956, 254);
//  Відображення, відбиття чого-небудь у художніх творах. Уважаємо їх [літератури] більше або менше докладними і живими відбитками сучасного життя народного (Іван Франко, XVI, 1955, 11).

А ось слід якраз - це результат дії, те що залишилось після чогось. Як то слід роботи програми - зміни в реєстрі, зміни в файлах і т.д. Відбиток же має значення ще відображення, представлення чогось, тож більш підходить.

52

(12 відповідей, залишених у Java)

Власне вкінці-кінців переклав так:

Текстове повідомлення: ******** може з'явитися перед або ж після траси стеку викликів.

Хоча я ще в роздумах. "Слід" мені якось не подобається і не зрозуміло по суті що це, можливо "відбиток стеку виклику" більш кращий варіант. Хоча "траса стеку викликів", достатньо однозначний термін, слово "траса" давно вживається в укр. мові і по суті виходить дослівний переклад початкового терміну.

53

(12 відповідей, залишених у Java)

Torbins написав:

Порядок викликів.
А взагалі не бачу сенсу перекладати елементи інтерфейсу, призначені виключно для програмістів.

Елементи API звичайно не потрібно перекладати. Перекладаю наступне речення:

"the text Message: ********* may appear before or after the stack trace."

54

(12 відповідей, залишених у Java)

Перегляд стеку викликів

"стек викликів" це повна назва стеку в англ "Call stack". Хоча в грубому приближенні можна було написати друк інформації про стек викликів, чи друк "траси стеку". Мабуть "траса стеку" - те що потрібно.

55

(12 відповідей, залишених у Java)

Подивився, що так найчастіше і перекладають "трасування стеку", мабуть так і прийдеться використовувати:).

56

(12 відповідей, залишених у Java)

При виводі інформації про виняток (exception) за допомогою методу printStackTrace() друкується інформація про виняток. Тож постає питання як найкраще і однозначніше перекласти stack trace. Зустрічається цей термін і в інших мовах програмування.

В російській є незрозумілий для простих людей термін "трассировка стека", перекладати аналогічно англіцизмами "трасування стеку", якось не дуже хочеться (хоча можливо це і єдиний вихід). Можливо хтось стикався з цим, або має якісь думки на цю тему.

57

(8 відповідей, залишених у Java)

Щодо вводу з клавіатури. Усі бібліотеки грунтуються переважно на звичайних потоках вводу-виводу, лише дещо спрощують організацію цього ж вводу виводу. В java в даний час нароблено кілька стандартних "класів-надбудов". Мені подобається організація вводу через стандартний клас Scanner із пакету java.util:

import java.util.Scanner;

.....

        Scanner in = new Scanner(System.in);
        String expr;
   
        System.out.print("Введіть вираз: ");
        expr = in.next();
        System.out.println(expr);//замість цього організовуємо розбір стрічки
     
    

Отримали вираз у змінній expr типу String, а далі робимо розбір виразу і перетворення елементів на числа та знаки.

Відеоурок англійською:http://www.youtube.com/watch?v=t7QKgXfQ0fs Java Tutorial - 6 - Input from the keyboard

http://www.youtube.com/watch?v=OZ-wVaaKENE   2-2 Getting-Input from the keyboard

58

(12 відповідей, залишених у Java)

Читайте книжки поновіші. Інакше все рівно прийдеться наганяти пропущений матеріал. В Java 5 (2004) відбулися серйозні зміни, та й java 6 (2006) та java 7(2011) є ряд нововведень. Java 5 вийшла в кінці 2004 року. Тобто немає сенсу брати книжки раніше 2005 року(це якщо в оригіналі англійськю). Враховуючи те, що переклади з'являються на кілька років пізніше... тож читайте книжки російською десь не раніше 2008 року. Старіші книжки раджу лише для роз'яснення незрозумілого матеріалу.

Англійською раджу:

Для початку Head First Java (або ж класику жанру книг для початківців Java For Dummies, 5th Edition)
Далі Core Java - Horstman.
Хто ж хоче розібрати все по гвинтиках Thinking in java (раджу лишити на закуску після того, як уже буде певний досвід програмування на Java)

Далі ж можна переходити до книг по JEE (сервлетів, JSP та інших наворотів.)

59

(26 відповідей, залишених у C++)

А "полі-"  - часом не запозичення:) Здається мені що це щось попахує латиною або ж грецькою:).

полінійний ряд(багатолінійний ряд) - це вже точно не з тої опери. Оскільки в рядку/стрічці зустрічаються символи переводу каретки та переходу на новий текстовий рядок. Що тоді накажете писати символи переведення на нову лінію. Це лише заплутає. Тоді вже точно як вище сказано краще багаторядкова лінія. Проте це вже новий переклад string:-)

Власне і "стрічку" і "рядок" можна нормально застосовувати. multyrow string не так вже й часто доведеться перекладати. Тож можна і розписати, щось на зразок що "існують рядки, що складаються з кількох текстових рядків", якщо перекладачу не подобається "багаторядкова стрічка":) чи щось таке. Головне, щоб той хто перекладає чи пише вживав одну термінологію впродовж усієї статті чи то книги. А то інколи такі книги російських видавництв знаходиш, чи то перекладач недолугий чи то різні перекладачі різні розділи перекладали чи взагалі автоматом перекладали.

60

(26 відповідей, залишених у C++)

Можливо і варто створити окремо десь обговорення.

У вікіпедії комп'ютерна термінологія доволі слабо розписана. Сам написав там кілька статей про доволі елементарні базові речі з програмування і ще доволі багато таких же є не розписаних або ненаписаних. І цілий ряд потребує обговорення.  Як ось стаття про рядок. В основному пише невелика кількість людей і до всього руки не доходять. Власне "рядок" теж нормальний термін і вживаний, навряд чи там буде консенсус щодо перейменування. Обидва варіанти є вживаними. Я сам донедавна дотримувався перекладу рядок. Саме мабуть завдяки вікіпедії рядок і одержав популярність, але це скоріше переклад з російської ніж з англійської. Сумніви з'явились недавно  як побачив відео на англійській як там в побуті застосовують string. Тоді знов з'явилися сумніви, щодо правильності перекладу. Почав шукати, знайшов що не я один сумніваюсь:).

Стрічка ж не такий же і новотвір, мабуть років 10-ть як я вперше почув це слово і певний час я його застосовував. І як я вже казав, знайшов підручники із його застосуванням.

Власне кожен термін потрібно провіряти цілим рядом словосполучень, які застосовуються в програмуванні, стрічка підходить для вирішення проблеми multyrow string, проте з іншими термінами ще треба подивитися як його застосовують.  Хоча раз є книги значить автори їх якось вирішують ці питання