В первую очередь нужна хорошая FulHD (как минимум) IPS-матрица. Второй монитор вторым монитором, но массовые ноутбучные матрицы - явный неликвид.
За мощностью процессора гнаться большого смысла нет - охлаждение в корпусах ноутбуков оставляет желать лучшего, даже среднебюджетная настольная конфигурация порвет почти любой ноутбук.
А вот памяти до упора и SSD от 120 Гб ставить обязательно (как правило, после покупки), за скоростью того и другого гнаться опять-таки смысла нет.
Windows 8 бояться не нужно - ничего страшного в ней нет.
> После обычного С язык показался мне очень сложным и запутанным.
Возможно, вам стоит выбрать себе другую профессию.
Ява как раз относительно проста, но крайне многословна, что приводит к появлению монструозных фреймворков и программированию на XML.
Есть смысл рассмотреть "скриптовые" языки (JavaScript, Python), в них кривая обучения более пологая.
#using free pascal # compile command.compile.*.pas=fpc "$(FilePath)" # normal execute if PLAT_WIN command.go.*.pas="$(FileName).exe" command.go.subsystem.*.pas=2 if PLAT_GTK command.go.*.pas="kvt -e $(FileName)" # build command.build.*.pas=fpc -B "$(FilePath)" command.build.subsystem.*.pas=1 command.name.0.*.pas=Debug Compile command.0.*.pas=fpc -g "$(FilePath)" command.name.1.*.pas=Debug Build command.1.*.pas=fpc -g -B "$(FilePath)" command.name.2.*.pas=GDB if PLAT_WIN command.2.*.pas=gdbpasw "$(FileName)" if PLAT_GTK command.2.*.pas=gdb "$(FileName)" command.name.3.*.pas=DDD command.3.*.pas=ddd "$(FileName)"
my $bal = qr/
(?<bal> # Name the rule (optional)
\{ # Open brace
(?> # Possessive subgroup
(?> [^{}]+ ) # Grab all the non braces
| # or
(?&bal) # Recurse
)* # Zero or more times
\} # Close brace
) # End named rule
/x;
if ('{x{x}y{x}x}' =~ /^$bal$/ ){
print "It's balanced\n";
}
$_= 'XXXX function xxx() {x{x}y{x}x} XXXX';
while ( /\bfunction\s+(\w+)\(\)\s*($bal)/g ){
print "function: $1\nbody: $2\n";
}
string pattern =
@"^((?<openBracket>\{) | [^\{\}] |" +
@"(?<closeBracket-openBracket>\}))*" +
@"(?(openBracket)(?!))$";
Regex r = new Regex(pattern, RegexOptions.IgnorePatternWhitespace);