Vilket språk bör jag lära mig?
Re: Vilket språk bör jag lära mig?
Sudo gedit är ju en grafisk texteditor, som man kan skriva Python, c, c++ osv. med.
Lätt att hitta filer inget ls behövs. Grubs menu.lst kan lätt ändras.
När gedit öppnas med sudo kan allt ju sparas och editeras som root.
Knappt någon träning eller övning krävs som i Vi, emacs och liknande.
Word, Exel förutsätter skolor att eleverrna behärskar. Ingenjörer, som gör sitt slutarbete
är ofta illa tvungen att lära sig. Handledaren får påpeka, men inte hjälpa till.
En del skolor har sitt lärostoff i Power Point. Att köra med OpenOffice kräver att
man sparar i rätt format för att andra skall förstå.
Det är bara några högskoleinriktningar, som gör sina arbeten med LaTex och skriver text
allt i ett och redigerar efteråt. Verkar som det skulle vara något slags lättja.
Ordbehandlare i moderna Office ger överskådlighet genast från början.
Det är mycket få, som egentligen har något behov av LaTex eller emacs.
Lätt att hitta filer inget ls behövs. Grubs menu.lst kan lätt ändras.
När gedit öppnas med sudo kan allt ju sparas och editeras som root.
Knappt någon träning eller övning krävs som i Vi, emacs och liknande.
Word, Exel förutsätter skolor att eleverrna behärskar. Ingenjörer, som gör sitt slutarbete
är ofta illa tvungen att lära sig. Handledaren får påpeka, men inte hjälpa till.
En del skolor har sitt lärostoff i Power Point. Att köra med OpenOffice kräver att
man sparar i rätt format för att andra skall förstå.
Det är bara några högskoleinriktningar, som gör sina arbeten med LaTex och skriver text
allt i ett och redigerar efteråt. Verkar som det skulle vara något slags lättja.
Ordbehandlare i moderna Office ger överskådlighet genast från början.
Det är mycket få, som egentligen har något behov av LaTex eller emacs.
- bbauto
- Inlägg: 1594
- Blev medlem: 11 dec 2006, 17:58
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Bromölla
Re: Vilket språk bör jag lära mig?
Nja emacs är lite mer än en vanlig ordbehandlare/editor, det riktar väl sig i första hand till programmerare och avancerade användare. Visst går det bra att använda gedit för python, c, c++ etc men det innehåller inte lika många verktyg för detta ändamålet som emacs. Så många programmerare har behov av det, för andra är inte behovet så stort.christer skrev:Sudo gedit är ju en grafisk texteditor, som man kan skriva Python, c, c++ osv. med.
Lätt att hitta filer inget ls behövs. Grubs menu.lst kan lätt ändras.
När gedit öppnas med sudo kan allt ju sparas och editeras som root.
Knappt någon träning eller övning krävs som i Vi, emacs och liknande.
Word, Exel förutsätter skolor att eleverrna behärskar. Ingenjörer, som gör sitt slutarbete
är ofta illa tvungen att lära sig. Handledaren får påpeka, men inte hjälpa till.
En del skolor har sitt lärostoff i Power Point. Att köra med OpenOffice kräver att
man sparar i rätt format för att andra skall förstå.
Det är bara några högskoleinriktningar, som gör sina arbeten med LaTex och skriver text
allt i ett och redigerar efteråt. Verkar som det skulle vara något slags lättja.
Ordbehandlare i moderna Office ger överskådlighet genast från början.
Det är mycket få, som egentligen har något behov av LaTex eller emacs.

- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: Vilket språk bör jag lära mig?
Nu börjar tråden gå offtopic. Jag tog bara upp emacs för att man kan skriva egna utökningar av emacs i lisp (elisp).
Jag tycker som många andra att man ska starta med python, perl eller ruby, mao något av de kraftfulla skripspråken som kommer med din linuxdist. Detta för att jag ogillar starkt "typade" språk. Ruby har jag inte testat men koden ser ren och fin ut (den jag har läst).
Jag tycker som många andra att man ska starta med python, perl eller ruby, mao något av de kraftfulla skripspråken som kommer med din linuxdist. Detta för att jag ogillar starkt "typade" språk. Ruby har jag inte testat men koden ser ren och fin ut (den jag har läst).
- bbauto
- Inlägg: 1594
- Blev medlem: 11 dec 2006, 17:58
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Bromölla
Re: Vilket språk bör jag lära mig?
Tycker du den börjar bli offtopic?? Det tycker inte jag... Vi var inne på frågan VAD som lämpar sig för olika ändamål PHP, Perl, Python, Ruby, CLISP... Har fått jättebra svar vad gäller Lisp, skulle gärna vilja få lite exempel på PHP, Perl, Python och Ruby också dvs. styrkor och svagheter i resp. språk.mcNisse skrev:Nu börjar tråden gå offtopic. Jag tog bara upp emacs för att man kan skriva egna utökningar av emacs i lisp (elisp).
Jag tycker som många andra att man ska starta med python, perl eller ruby, mao något av de kraftfulla skripspråken som kommer med din linuxdist. Detta för att jag ogillar starkt "typade" språk. Ruby har jag inte testat men koden ser ren och fin ut (den jag har läst).

- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: Vilket språk bör jag lära mig?
Nej, just det du tar upp är inte ot... 
PHP är väl lämpat för att ta fram webapplickationer.
Perl använder jag när jag vill manipulera text (när awk inte räcker till) eller när skalskripten börjar kräva komplexa strukturer.
python är bra på allt. python och perl har imho lite överlappande användningsområden.

PHP är väl lämpat för att ta fram webapplickationer.
Perl använder jag när jag vill manipulera text (när awk inte räcker till) eller när skalskripten börjar kräva komplexa strukturer.
python är bra på allt. python och perl har imho lite överlappande användningsområden.
- bbauto
- Inlägg: 1594
- Blev medlem: 11 dec 2006, 17:58
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Bromölla
Re: Vilket språk bör jag lära mig?
Ruby verkar populärt bland spelutvecklare!? Hur kommer sig det?? enklare grafikhantering???mcNisse skrev:Nej, just det du tar upp är inte ot...
PHP är väl lämpat för att ta fram webapplickationer.
Perl använder jag när jag vill manipulera text (när awk inte räcker till) eller när skalskripten börjar kräva komplexa strukturer.
python är bra på allt. python och perl har imho lite överlappande användningsområden.

Re: Vilket språk bör jag lära mig?
Har nu läst hundratals sidor med Python och C++ och gått igenom massor av
korta programsnuttar. Men någon sprakande färggrafik hittar jag inte.
korta programsnuttar. Men någon sprakande färggrafik hittar jag inte.
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Vilket språk bör jag lära mig?
Här har du lite C-kod som ordnar med sprakande färggrafik:christer skrev:Har nu läst hundratals sidor med Python och C++ och gått igenom massor av
korta programsnuttar. Men någon sprakande färggrafik hittar jag inte.
http://github.com/ghostbar/deb-xscreens ... c&raw=true
- Urban Anjar
- Inlägg: 7306
- Blev medlem: 05 nov 2006, 22:59
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Vickleby
- Kontakt:
Re: Vilket språk bör jag lära mig?
Det är nog så att om man har intresse och fallenhet bör man lära sig flera olika språk.
Vilket man börjar med är inte så fasligt viktigt. Leta efter en bra tutorial, en bra lärobok eller en pedagogisk och tålmodig vän och välj förstaspråk efter det. Sen rullar det på.
Givetvis kan det vara bra att hitta ett språk som inte är för komplicerat att läsa och skriva som förstaspråk. Att hitta gott om kod att läsa kan också vara en ledtråd.
Vilket man börjar med är inte så fasligt viktigt. Leta efter en bra tutorial, en bra lärobok eller en pedagogisk och tålmodig vän och välj förstaspråk efter det. Sen rullar det på.
Givetvis kan det vara bra att hitta ett språk som inte är för komplicerat att läsa och skriva som förstaspråk. Att hitta gott om kod att läsa kan också vara en ledtråd.
Ubuntu från början: http://ubuntufranborjan.wordpress.com/
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#
- serialsniffer
- Inlägg: 235
- Blev medlem: 13 dec 2008, 14:04
- OS: Ubuntu
- Utgåva: 18.04 Bionic Beaver LTS
- Ort: Hackerland
- Kontakt:
Re: Vilket språk bör jag lära mig?
du saknar screenhack biblioteket:)
------------------------
Serial Sniffer
Linux Ubuntu 9.10 Karmic Koala Gnome.
Jag är fadder. Läs om mighttp://ubuntu-se.org/phpBB3/viewtopic.p ... 60#p323784
Serial Sniffer
Linux Ubuntu 9.10 Karmic Koala Gnome.
Jag är fadder. Läs om mighttp://ubuntu-se.org/phpBB3/viewtopic.p ... 60#p323784
Re: Vilket språk bör jag lära mig?
Varifrån får man screenhack.h ? Hittade inte från Synaptic.
Googlesök screenhack.h download gav. Om detta är screenhack, vart skall den då stoppas ?
Får radnummer vara med ?
Är screenhack lämplig väg? Skall det inte redan finnas i Ubuntu något, som får bilder att leva med C++ ?
1 /* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
2 *
3 * Permission to use, copy, modify, distribute, and sell this software and its
4 * documentation for any purpose is hereby granted without fee, provided that
5 * the above copyright notice appear in all copies and that both that
6 * copyright notice and this permission notice appear in supporting
7 * documentation. No representations are made about the suitability of this
8 * software for any purpose. It is provided "as is" without express or
9 * implied warranty.
10 */
11
12 #ifndef __SCREENHACK_H__
13 #define __SCREENHACK_H__
14
15 #include "screenhackI.h"
16
17 /* In an Xlib world, we define two global symbols here:
18 a struct in `MODULENAME_xscreensaver_function_table',
19 and a pointer to that in `xscreensaver_function_table'.
20
21 In a Cocoa world, we only define the prefixed symbol;
22 the un-prefixed symbol does not exist.
23 */
24 #ifdef HAVE_COCOA
25 # define XSCREENSAVER_LINK(NAME)
26 #else
27 # define XSCREENSAVER_LINK(NAME) \
28 struct xscreensaver_function_table *xscreensaver_function_table = &NAME;
29 #endif
30
31
32 #if defined(HAVE_COCOA) && !defined(__XLOCKMORE_INTERNAL_H__)
33 /* this is one enormous kludge... */
34 # undef ya_rand_init
35 static void
36 xscreensaver_common_setup(struct xscreensaver_function_table *xsft, void *a)
37 { ya_rand_init(0); }
38 #else
39 # define xscreensaver_common_setup 0
40 #endif
41
42
43 #define XSCREENSAVER_MODULE_2(CLASS,NAME,PREFIX) \
44 struct xscreensaver_function_table \
45 NAME ## _xscreensaver_function_table = { \
46 CLASS, \
47 PREFIX ## _defaults, \
48 PREFIX ## _options, \
49 xscreensaver_common_setup, 0, \
50 PREFIX ## _init, \
51 PREFIX ## _draw, \
52 PREFIX ## _reshape, \
53 PREFIX ## _event, \
54 PREFIX ## _free, \
55 0, 0, 0 }; \
56 XSCREENSAVER_LINK (NAME ## _xscreensaver_function_table)
57
58 #define XSCREENSAVER_MODULE(CLASS,PREFIX) \
59 XSCREENSAVER_MODULE_2(CLASS,PREFIX,PREFIX)
60
61 #endif /* __SCREENHACK_H__ */
62
Googlesök screenhack.h download gav. Om detta är screenhack, vart skall den då stoppas ?
Får radnummer vara med ?
Är screenhack lämplig väg? Skall det inte redan finnas i Ubuntu något, som får bilder att leva med C++ ?
1 /* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski <jwz@jwz.org>
2 *
3 * Permission to use, copy, modify, distribute, and sell this software and its
4 * documentation for any purpose is hereby granted without fee, provided that
5 * the above copyright notice appear in all copies and that both that
6 * copyright notice and this permission notice appear in supporting
7 * documentation. No representations are made about the suitability of this
8 * software for any purpose. It is provided "as is" without express or
9 * implied warranty.
10 */
11
12 #ifndef __SCREENHACK_H__
13 #define __SCREENHACK_H__
14
15 #include "screenhackI.h"
16
17 /* In an Xlib world, we define two global symbols here:
18 a struct in `MODULENAME_xscreensaver_function_table',
19 and a pointer to that in `xscreensaver_function_table'.
20
21 In a Cocoa world, we only define the prefixed symbol;
22 the un-prefixed symbol does not exist.
23 */
24 #ifdef HAVE_COCOA
25 # define XSCREENSAVER_LINK(NAME)
26 #else
27 # define XSCREENSAVER_LINK(NAME) \
28 struct xscreensaver_function_table *xscreensaver_function_table = &NAME;
29 #endif
30
31
32 #if defined(HAVE_COCOA) && !defined(__XLOCKMORE_INTERNAL_H__)
33 /* this is one enormous kludge... */
34 # undef ya_rand_init
35 static void
36 xscreensaver_common_setup(struct xscreensaver_function_table *xsft, void *a)
37 { ya_rand_init(0); }
38 #else
39 # define xscreensaver_common_setup 0
40 #endif
41
42
43 #define XSCREENSAVER_MODULE_2(CLASS,NAME,PREFIX) \
44 struct xscreensaver_function_table \
45 NAME ## _xscreensaver_function_table = { \
46 CLASS, \
47 PREFIX ## _defaults, \
48 PREFIX ## _options, \
49 xscreensaver_common_setup, 0, \
50 PREFIX ## _init, \
51 PREFIX ## _draw, \
52 PREFIX ## _reshape, \
53 PREFIX ## _event, \
54 PREFIX ## _free, \
55 0, 0, 0 }; \
56 XSCREENSAVER_LINK (NAME ## _xscreensaver_function_table)
57
58 #define XSCREENSAVER_MODULE(CLASS,PREFIX) \
59 XSCREENSAVER_MODULE_2(CLASS,PREFIX,PREFIX)
60
61 #endif /* __SCREENHACK_H__ */
62
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Vilket språk bör jag lära mig?
Screenhack har egentligen ingenting med de sprakande färgerna att göra. Den behövs för andra saker som inte är intressant i det här sammanhanget. Plockar man ut de relevanta delarna av koden så blir det ungefär så här istället:christer skrev:Varifrån får man screenhack.h ? Hittade inte från Synaptic.
Googlesök screenhack.h download gav. Om detta är screenhack, vart skall den då stoppas ?
Får radnummer vara med ?
Är screenhack lämplig väg? Skall det inte redan finnas i Ubuntu något, som får bilder att leva med C++ ?
Kod: Markera allt
#include <stdlib.h>
#include <unistd.h>
#include <X11/Xlib.h>
int main()
{
Display *dpy;
Window win;
XWindowAttributes xwa;
XColor xcl;
int i, red, green, blue, r, g, b;
int ctab[256];
XGCValues gcv;
GC gc;
XImage *xim;
XEvent event;
unsigned char *flame;
int fwidth, fheight, hspread, vspread, residual;
int x, y, v1, v2, v3, v4;
int top, newtop, used;
unsigned char *ptr1, *ptr2;
unsigned int *ptr;
int ihspread = 30;
int ivspread = 97;
int iresidual = 99;
int variance = 50;
int vartrend = 20;
int delay = 10000;
dpy = XOpenDisplay(NULL);
if (!dpy) return 1;
win = DefaultRootWindow(dpy);
XGetWindowAttributes(dpy, win, &xwa);
fwidth = (xwa.width + 1) / 2;
fheight = (xwa.height + 1) / 2;
if (!XParseColor(dpy, xwa.colormap, "#FFAF5F", &xcl)) return 1;
if (!XAllocColor(dpy, xwa.colormap, &xcl)) return 1;
XQueryColor(dpy, xwa.colormap, &xcl);
red = 3 * (255 - (xcl.red >> 8));
green = 3 * (255 - (xcl.green >> 8));
blue = 3 * (255 - (xcl.blue >> 8));
for (i = 0; i < 256; i++)
{
r = 6*i - red;
g = 6*i - green;
b = 6*i - blue;
if (r < 0) r = 0;
if (g < 0) g = 0;
if (b < 0) b = 0;
if (r > 255) r = 255;
if (g > 255) g = 255;
if (b > 255) b = 255;
xcl.red = (unsigned short) ((r << 8) | r);
xcl.green = (unsigned short) ((g << 8) | g);
xcl.blue = (unsigned short) ((b << 8) | b);
xcl.flags = DoRed | DoGreen | DoBlue;
XAllocColor(dpy, xwa.colormap, &xcl);
ctab[i] = (int) xcl.pixel;
}
gcv.subwindow_mode = IncludeInferiors;
xim = XCreateImage(
dpy, xwa.visual, xwa.depth, ZPixmap,
0, NULL, xwa.width, xwa.height, 32, 0);
if (!xim) return 1;
xim->data = (char *) calloc(xim->height, xim->bytes_per_line);
if (!xim->data) return 1;
gc = XCreateGC(dpy, win, GCSubwindowMode, &gcv);
if (!gc) return 1;
XGrabServer(dpy);
if ( XGrabKeyboard(dpy, win, False,
GrabModeAsync, GrabModeAsync,
CurrentTime) != GrabSuccess ||
XGrabPointer(dpy, win, False, ButtonPressMask,
GrabModeAsync, GrabModeAsync,
None, 0, CurrentTime) != GrabSuccess
) return 1;
XImage *ximbak = XGetImage(
dpy, win, 0, 0, xwa.width, xwa.height, AllPlanes, ZPixmap);
XFillRectangle(dpy, win, gc, 0, 0, xwa.width, xwa.height);
flame = (unsigned char *)
malloc((fwidth + 2) * (fheight + 2) * sizeof(unsigned char));
if (!flame) return 1;
for (y = 0; y < fheight + 1; y++)
{
ptr1 = flame + 1 + (y * (fwidth + 2));
for (x = 0; x < fwidth; x++)
{
*ptr1 = 0;
ptr1++;
}
}
hspread = ihspread;
vspread = ivspread;
residual = iresidual;
for(top = 1;;) {
ptr1 = flame + (fheight + 1) * (fwidth + 2);
for (x = 0; x < fwidth + 2; x++)
{
v1 = *ptr1 + ((random() % variance) - vartrend);
*ptr1++ = v1 % 255;
}
hspread = ((ihspread * 10) + (hspread * 90)) / 100;
vspread = ((ivspread * 10) + (vspread * 90)) / 100;
residual = ((iresidual * 10) + (residual * 90)) / 100;
for (newtop = top, y = fheight + 1; y >= top; y--)
{
ptr1 = flame + 1 + (y * (fwidth + 2));
for (used = 0, x = 0; x < fwidth; x++)
{
v1 = (int) *ptr1;
if (v1 > 0)
{
used = 1;
ptr2 = ptr1 - fwidth - 2;
v3 = (v1 * vspread) >> 8;
v2 = (int)*(ptr2);
v2 += v3;
if (v2 > 255) v2 = 255;
*(ptr2) = (unsigned char) v2;
v3 = (v1 * hspread) >> 8;
v2 = (int)*(ptr2 + 1);
v2 += v3;
if (v2 > 255) v2 = 255;
*(ptr2 + 1) = (unsigned char) v2;
v2 = (int)*(ptr2 - 1);
v2 += v3;
if (v2 > 255) v2 = 255;
*(ptr2 - 1) = (unsigned char) v2;
if (y < fheight + 1)
{
v1 = (v1 * residual) >> 8;
*ptr1 = (unsigned char) v1;
}
}
ptr1++;
if (used) newtop = y - 1;
}
*ptr1 = (unsigned char)
((((int)*ptr1) * residual) >> 8);
}
top = newtop - 1;
if (top < 1) top = 1;
ptr1 = flame + 1 + (top * (fwidth + 2));
ptr = (unsigned int *)xim->data + (top << 1) * xwa.width;
for (y = top; y < fheight; y++, ptr1 += 2, ptr += xwa.width)
{
for (x = 0; x < fwidth; x++, ptr1++)
{
v1 = (int) *ptr1;
v2 = (int) *(ptr1 + 1);
v3 = (int) *(ptr1 + 2 + fwidth);
v4 = (int) *(ptr1 + 3 + fwidth);
*ptr = (unsigned int) ctab[v1];
ptr++;
*ptr = (unsigned int) ctab[(v1 + v2) >> 1];
ptr += xwa.width - 1;
*ptr = (unsigned int) ctab[(v1 + v3) >> 1];
ptr ++;
*ptr = (unsigned int) ctab[(v1 + v4) >> 1];
ptr -= xwa.width - 1;
}
}
XPutImage(dpy, win, gc, xim, 0,
(top - 1) << 1, 0, (top - 1) << 1,
xwa.width, xwa.height - ((top - 1) << 1));
XSync(dpy, False);
usleep(delay);
while (XPending(dpy))
{
XNextEvent(dpy, &event);
switch (event.type)
{
case KeyPress:
case ButtonPress:
XPutImage(
dpy, win, gc, ximbak,
0, 0, 0, 0, xwa.width, xwa.height);
XUngrabPointer(dpy, CurrentTime);
XUngrabKeyboard(dpy, CurrentTime);
XUngrabServer(dpy);
XCloseDisplay(dpy);
return 0;
}
}
}
}
Re: Vilket språk bör jag lära mig?
X11/Xlib.h finns inte.
Försökte hitta med locate.
Försökte hitta med locate.
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Vilket språk bör jag lära mig?
christer skrev:X11/Xlib.h finns inte.
Försökte hitta med locate.

Kod: Markera allt
sudo apt-get install libx11-dev
Re: Vilket språk bör jag lära mig?
libx11-dev fanns i synaptic och kunde klickas in.
gcc filen.c gav felmeddelanden.
gcc -lX11 filen.c kompilerades och gav en körbar fil a.out.
varför måste -lX11 finnas med ?
När a.out kördes började skärmen "brinna" nedtill.
Nu skulle det gälla att förstå hur det fungerar.
gcc filen.c gav felmeddelanden.
gcc -lX11 filen.c kompilerades och gav en körbar fil a.out.
varför måste -lX11 finnas med ?
När a.out kördes började skärmen "brinna" nedtill.
Nu skulle det gälla att förstå hur det fungerar.
- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: Vilket språk bör jag lära mig?
För tala om för länkaren att du behöver funktioner from X11 libbet.christer skrev:libx11-dev fanns i synaptic och kunde klickas in.
gcc filen.c gav felmeddelanden.
gcc -lX11 filen.c kompilerades och gav en körbar fil a.out.
varför måste -lX11 finnas med ?
- Rasmus
- Inlägg: 2291
- Blev medlem: 07 sep 2006, 18:33
- OS: Ubuntu
- Utgåva: 24.04 Noble Numbat LTS
- Ort: Svalsta
Re: Vilket språk bör jag lära mig?
I vanliga fall sköts det med en makefile men nu när du körde utan den så blir det så som mcNisse skrev.christer skrev:libx11-dev fanns i synaptic och kunde klickas in.
gcc filen.c gav felmeddelanden.
gcc -lX11 filen.c kompilerades och gav en körbar fil a.out.
varför måste -lX11 finnas med ?