четверг, 26 августа 2010 г.

Почти как настоящий...

Думал я тут о разработке кросс-платформенных приложений.
Хотя, "думал" - громкое слово. Нужно сделать так, чтоб приложение работало на *NIX и Windows. Нужно - значит будет!
static_cast<Linix>(Windows)
и даже
static_cast<FreeBSD>(Windows)

Да и, собственно говоря, проблем особых нет. Те утилитки, которые я "программирую" - вещи специфические, и на 99% - консольные приложения. Но в пресловутом "мире современных информационных технологий" консольное приложение - и не приложение вовсе. Так, робот, тулза для гиков. В общем - сугубо для частного использования в узком кругу задач. А чуть в паблик выходишь - так уже без GUI  и никуда.

И что же нам предлагает "современный мир" в качестве решения задачи кросплатформенного GUI? Да не так и много...

вторник, 24 августа 2010 г.

Hello, World!

Итак, типичное начало типичной деятельности IT'шника очень близко связанного с программированием.

Hello, World!

Ну а вообще-то сразу вспоминается старая добрая шутка про написание "Hello world" специалистами различной квалификации. Посмотреть можно, например, тут: Hello World! - GNU Project

Эх... Давно пройденный этап:
#!/usr/local/bin/perl $msg="Hello, world.\n"; if ($#ARGV >= 0) { while(defined($arg=shift(@ARGV))) { $outfilename = $arg; open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n"; print (FILE $msg); close(FILE) || die "Can't close $arg: $!\n"; } } else { print ($msg); } 1;
Сейчас уже, скорее, так:
#include <stdio.h>
#include <string.h>
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

И, даже, все чаще так:
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
 Hello, world.

Так что, вступаем и компилируем вместе! ;)