# Which language should I learn?



## aditya.shevade (Jul 17, 2006)

Hi

I am going to join FY engineering from this year. I have already taken an admission in a c language course. I want to know apart from c, which webpage designing language should I learn? html, jawascript or php or is there any one better than these? Please help me. I have some knowledge in C but nothing in these 3.

Aditya


----------



## reddragon (Jul 17, 2006)

php  now is very hot.........however .net  presently have greater job aspect ..


----------



## casanova (Jul 17, 2006)

ASP.NET with c#.net


----------



## kalpik (Jul 18, 2006)

LAMP => Linux, Apache, MySQL, PHP. This is the best combo right now.


----------



## azaad_shri75 (Jul 18, 2006)

aditya.shevade said:
			
		

> Hi
> 
> I am going to join FY engineering from this year. I have already taken an admission in a c language course. I want to know apart from c, which webpage designing language should I learn? html, jawascript or php or is there any one better than these? Please help me. I have some knowledge in C but nothing in these 3.
> 
> Aditya


master C first then go for perl or php.


----------



## mehulved (Jul 18, 2006)

From your post it sounds you still don't know html and javascript. You should learn those first if you haven't done so still cos they will form the basics. Later you can move on to learn CSS and PHP.


----------



## aditya.shevade (Jul 18, 2006)

So I should have a minimal knowledge of html or javascript to learn php? Then it's better to master it first. What do you think?

Aditya


----------



## shakti (Jul 18, 2006)

Go with PHP


----------



## mehulved (Jul 18, 2006)

IMO sit and master HTML and JavaScript first. They are easy languages to learn. So, then when you go with php you will be confident and comfortable. HTML still forms the base of www, so it cannot be ignored IMO.


----------



## aditya.shevade (Jul 19, 2006)

thanks for the replies


----------



## Pathik (Jul 19, 2006)

html is too easy.... u can learn it in 1 day....
even i m gonna start my engg....
so after html learn c first as it ll be useful in fe...


----------



## bukaida (Jul 19, 2006)

Man, What ever computer language you learn, You must learn spoken english
with it in order to sustain in the industry. It is specially required for the fresh job seekers with non convent background.


----------



## Lukka (Jul 19, 2006)

i know a little about html...so can i start with php or do i need to perfect my html?


----------



## bukaida (Jul 19, 2006)

php mainly deals with html forms.So be comfortable with them first.


----------



## aditya.shevade (Jul 20, 2006)

@ Bukaida

Thank you for the spoken english advise. My father has been telling me the same thing. I think I will proceed with C then html (in one day, well if pathiks can pick it up in one day why can't I?) and then javascript and php. 

Thanks guys.
Aditya


----------



## Pathik (Jul 20, 2006)

r u interested in wml(wap)... dont take wml too seriously cos its similar to html....also nowadays the default browsers of all mobiles support html... 
also with html try a lil bit of css,xml,xhtml..... i m going the same way...
i m gonna start c now....

also 1st fe engg has lil bit of unix.... so install ny linux distro and try out the commands....


----------



## iMav (Jul 20, 2006)

hindi - considered to be the next major language on the net


----------



## dheeraj_kumar (Jul 20, 2006)

That was the first time I heard that. I hope it isn't true. I hate hindi! English rules all the way!

I hope I'm not starting language wars.

To the question, i think you should learn c and then c++. so wherever you work in the IT industry it will be easy for you. c++ is easy if you know c. Also learn HTML and Javascript.


----------



## aditya.shevade (Jul 20, 2006)

Thank you


----------



## knight17 (Jul 20, 2006)

If you want to be a web designer go for..
HTML
XHTML
XML
CSS
Javascript
AJAX
ASP
PHP etc..


----------



## azaad_shri75 (Jul 21, 2006)

" I hate hindi! English rules all the way!"

how could you say so,its shame on your part being an indian and embracing foreign language so much,I do use english or hinglish for all of my daily cores yet I dont hate any language.


----------



## iMav (Jul 21, 2006)

shri 75 please do not start a language war .... if i am not mistaken dheeraj kumar meant that it is dificult to read and type hindi (using hindi on comps) ...... and it certainly is difficult to type i tried and it was a headache and yes it is also true that net experts have said that hindi, chinese and english are the 3 future languages of the net.... not far are the days when hindi will be the first lanuage in america with english as the second


----------



## aditya.shevade (Jul 21, 2006)

Look here what did the post start with...... and what is going on right now 

Aditya


----------



## PrinceHeart (Jul 21, 2006)

pathiks said:
			
		

> html is too easy.... u can learn it in 1 day....
> even i m gonna start my engg....
> so after html learn c first as it ll be useful in fe...



Well I have started learning C now. And i did few web designing with frontpage and publishers. But i want to learn html.

So as pathiks said - "u can learn it in 1 day" - is there any link/site i can follow for the tutorials for html ? Do let me know - either in this post or private message.

thank
cheerz


----------



## rohan (Jul 21, 2006)

@pathiks: You think HTML is so easy??? Just check out W3C.org for once or how about a small test here: *webdesign.about.com/c/ec/9.htm

xHTML/HTML is not as simple as it seems to be. There is a lot of scientific and disciplined approach to it. Anybody can write HTML, but few can write it perfectly and nicely.

no offences meant , just debating.


----------



## azaad_shri75 (Jul 22, 2006)

mAV3 said:
			
		

> shri 75 please do not start a language war .... if i am not mistaken dheeraj kumar meant that it is dificult to read and type hindi (using hindi on comps) ...... and it certainly is difficult to type i tried and it was a headache and yes it is also true that net experts have said that hindi, chinese and english are the 3 future languages of the net.... not far are the days when hindi will be the first lanuage in america with english as the second



dear mAV3, I am not starting any kinda war,I am always at peace, I responded to the word hate used by mr. dheeraj, btw no hard feelings against anyone,we are the citizens of the world,let there be peace everywhere.


----------



## Proteus9000 (Dec 26, 2007)

I am considering learning a new programming language.
I am a It person with both hardware and software knowledge. May day to day 
job is a LAN Administrator. I.E. installing networks, servers, pc's installing
software, running backups and occasionally writing a quick program.
I usually through together quick programs in Borland C. As this is what I have 
been using for one program a year. (I only spend a couple of hundred hours 
a year programming)
1.First language Basic on a number of machines. TRS-80,System 80,Applesoft etc.
2.Looked at Pascal. Did not realy get into it.
3.Read a book on LISP .. could not get my head around it.
4.Enjoyed learning Prolog. Ran Endburrogh Prolog on Vax. 
5.Learnt and used Turbo C and Borland C. Most experience on these compilers
6.HTML on Notepad, Homesite etc.
Machine Language.
1. Z-80.. #23 inc HL. #c3 Jump, #cd call ...Cheers to Craig Amey. HomeBuilt Z-80 from scratch
2. M680XX I like these CPUs
3. 80x86 ..TSR routines and patches to code. Cheers to Sourcer (V-Comms)

Which language I should learn? 
My wish list: 
* The language should be available for both Windows and GNU/Linux. 
* The language should be advanced enough to build complex programs for GUI 
apps, graphical visualization and what not (ie. have a Resouce editor at least)
* Easy to pick up once per year.
* The language should have a future - I want to use it for the next 10 years.
* The language should be able to read directories ..(ie findfirst...Findnext)
* Easy string handling, and varible arrays ..(C99 does not have runtime varible 
arrays.)(I.e. automated memory handling. garbage removal)

I am looking at maybe Python or C# now that mono exits . C++ looks to complex to 
use only once a year.
My next project is to put a window front end on various c programs. 
example code 

Any comments are welcome on sugested languages and good programing books.
Even on Borland C (C++). 
Cheers All
James P.
<code>
* File  = F:\RIS\super\JLP\TC\EMTPYDIR1.C
 * Under = Software
 * Date  = 1/1/2007
 * Update= 1/4/2007
 * Vers  = 4.0
 *
 * James P*******'s DIRerctory Empty Program
 *      Version 4.0
 * Hardcoded BAT & Log output
 *
 * This program outputs a directory list with number and size of files
 * It also deletes all empty directories for Floppy, Hard Disks
 * Updated for 98se,NT,2000,and XP
 *
 * Usage:
 *
 * EMPTYDIR [options] [outputfile]
 *
 *  Future options
 * /H  -- HTML Output
 * /k  -- Actually remove files
 * /t  -- Kilobytes
 * /T  -- Thousands of Bytes
 * /V  -- Version output
 */
#include <dir.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "getopt.h"
/*
 *  Defined types
 *
 */
typedef enum {FALSE,TRUE} BOOLEAN;
typedef enum {GOOD,BAD} RCODE;
typedef struct ffblk FFBLK;
/*
 * Prototypes
 */
long dir_size(void);
long dir_space(void);
void files(int level);
void  line(int level);
RCODE firstdir(char *pathname,FFBLK *dirblk);
RCODE nextdir(FFBLK *dirblk);
int nextlevel(RCODE done,FFBLK *dirblk,FFBLK *tempblk);
int   processargs(int argc, char **argv);
void   usage(void);
/*
 * External varibles in optarg.h
 */
extern char *optarg;
extern int optind;
/*
 * Globals
 */
int level,dirnum,tdeleted,tempty,tfiles,tspace,tsize;
BOOLEAN csv,debugme,html,fileout,kill,thousands;
FILE  *fhdir; // These file handles are for HTML output files
FILE  *fhlog; // These file handles are for Log  output files
FILE  *fhbat; // These file handles are for Batch output files
char buf[100],graph[20];
char  progname[80]="Emptydir";
char   ver[10]="Beta 4.0";
int main(int argc, char **argv)
{FFBLK  dirblk,tempblk;
 char   buf[100],path[MAXDIR];
 char   filehtml[20];
 int son;
 RCODE done;
 debugme=FALSE;
 fileout=FALSE;
 kill=FALSE;
 html=TRUE;
 thousands=FALSE;
 dirnum=0;
 level=0;
 tdeleted=0;
 tempty=0;
 tspace=0;
 tsize=0;
 getcwd(buf,100);
 printf("James P*****s Empty Directory %s.\n",ver);
 printf("\%s directory's subdirectorys.\n",buf);
 processargs(argc,argv);
 if(html)
  {strcpy(filehtml,"emptydir.log");
    printf("filehtml=%s",filehtml);
    if((fhlog= fopen(filehtml,"w+b"))!=NULL)
    {fprintf(fhlog,"Empty Directory Log file version=%s\r\n",ver);
       fprintf(fhlog,"===================================\r\n");
       fprintf(stdout,"file %s is open\n",filehtml);
      }
    else
     {printf("file %s has failed to open\n",filehtml);
       abort();
      }
    strcpy(filehtml,"EmptyDirs.HTM");
    if((fhdir= fopen(filehtml,"w+b"))!=NULL)
    {fprintf(fhdir,"<Head><meta name=\"generator\" content=\"JPDIR-%s\">\r\n",ver);
       fprintf(fhdir,"<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"jpdir.css\">");
       printf("file %s is open\n",filehtml);
      }
    else
     {printf("file %s has failed to open\n",filehtml);
       abort();
      }
    strcpy(filehtml,"EmptyDirs.Bat");
    if((fhbat= fopen(filehtml,"w+b"))!=NULL)
    {fprintf(fhbat,"Echo Are you sure you want to delete empty directories\n");
       fprintf(fhbat,"pause\n");
       printf("file %s is open\n",filehtml);
      }
    else
     {printf("file %s has failed to open\n",filehtml);
       abort();
      }
   }
 if (html)
  {fprintf(fhdir ,"<title>JDIR</title></head>\r\n <Body>");
    fprintf(fhdir ,"<H1>\%-12s directory's subdirectorys & files</H1><Table CELLSPACING=0>");
   }
 fprintf(fhlog,"DirNum,Level,Path,DSize\n");
 if (debugme){ printf("Buffer = %s\n",buf);}
 done=getcurdir(0,path);
 if (debugme) {printf("path = %s\n",path);}
 if(done)
 {printf("Directory error");
  abort();
 }
 if (fileout) files(-1);
 tspace=dir_space();
 tsize=dir_size();
 printf("root files=%ld space=%ld\n",tsize,tspace);
// now do directory(ies)
 done=firstdir("*",&dirblk);
 firstdir("*",&tempblk);
 while (!done)
   {if (debugme) printf("About to change to %ld--%s\n",level,dirblk.ff_name);
       chdir(dirblk.ff_name);
       dirnum++;
       if (debugme) printf("about to run nextlevel\n");
       son=nextlevel(done,&dirblk,&tempblk);
       tsize+=son;
       if (debugme) printf("back from nextlevel\n");
       chdir("..");
//==
       if (son==0)
      {fprintf(fhlog,"=delete");
         fprintf(fhdir,"=delete");
      fprintf(fhlog,"\r\nRmdir %s\r\n",dirblk.ff_name);
      fprintf(fhbat,"\r\nRmdir %s",dirblk.ff_name);
         if (kill)
           {tdeleted++;
              printf("Delete %s\n",dirblk.ff_name);
             rmdir(dirblk.ff_name);
            }
          tempty++;
        }
//==
       done=nextdir(&dirblk);
      }
  if(html){fprintf(fhdir,"<tr>%s has found %ld files, %ld space in %ld Directories\n",progname,tsize,tspace,dirnum);
     fprintf(fhdir,"<tr>%s has found %ld Empty Directories, Deleted %ld Directories\n",progname,tempty,tdeleted);
     fprintf(fhdir ,"</Table><H1>End of file</H1></Body><HTML>");
         printf("about to close HTML file\n");fclose(fhdir);;
          }
  //  progname = *argv;
 printf("%s has found %ld files, %ld space in %ld Directories\n",progname,tsize,tspace,dirnum);
 printf("%s has found %ld Empty Directories, Deleted %ld Directories\n",progname,tempty,tdeleted);
 fprintf(fhlog,"%s has found %ld files, %ld space in %ld Directories\n",progname,tsize,tspace,dirnum);
 fprintf(fhlog,"%s has found %ld Empty Directories, Deleted %ld Directories\n",progname,tempty,tdeleted);
 printf("about to close log file\n");fclose(fhlog);;
 printf("about to close Bat file\n");fclose(fhbat);;
 return 0;
}
void line(int level)
{int i;
 for (i=0;i<level;i++)
  {printf("%c ",graph_);
    if (html)
     {if (graph==' ')
       {fprintf(fhdir," ");
         }
       else
         {fprintf(fhdir,"│");
         }
       }
   }
}
/*
 * Firstdir
 * Finds first directory that is not . or ..
 *
 * Returns Good if directory found
 */
RCODE firstdir(char *pathname,FFBLK *dirblk)
{RCODE done;
 done=findfirst(pathname,dirblk,FA_DIREC);
 while(!done)
    {if (dirblk->ff_attrib != FA_DIREC)
       {if (debugme) printf("%s is not a dirctory\n",dirblk->ff_name);
          }
     else {if (dirblk->ff_name[0]=='.')
            {if (debugme) printf("found %s\n",dirblk->ff_name);
                }
           else {if (debugme) printf("done on ffname=%s\n",dirblk->ff_name);
                 done=GOOD;
                 return done;
                }
           }
     done=findnext(dirblk);
    }
  done=BAD;
  return done;
}
/*
 * nextdir
 * Finds Next directory that is not . or ..
 *
 * Returns Good if directory found
 */
RCODE nextdir(FFBLK *dirblk)
{RCODE done;
 done=findnext(dirblk);
 while(!done)
    {if (dirblk->ff_attrib != FA_DIREC)
      {if (debugme) printf("%s is not a dirctory\n",dirblk->ff_name);
         }
     else {if (dirblk->ff_name[0]=='.')
            {if (debugme) printf("found %s\n",dirblk->ff_name);
                }
           else {if (debugme) printf("done on ffname=%s\n",dirblk->ff_name);
                 done=GOOD;
                 return done;
                }
           }
     done=findnext(dirblk);
    }
  done=BAD;
  return done;
}
long dir_space()
{RCODE done;
 long    space;
 FFBLK ffblk;
 space=0;
 done=findfirst("*.*",&ffblk,FA_SYSTEM|FA_HIDDEN);
 while (!done)
   {space+=ffblk.ff_fsize;
  done=findnext(&ffblk);
   }
 return(space);
}
long dir_size()
{RCODE done;
 long    size;
 FFBLK ffblk;
 size=0;
 done=findfirst("*.*",&ffblk,FA_SYSTEM|FA_HIDDEN);
 while (!done)
 {size++;
  done=findnext(&ffblk);
 }
 return(size);
}
int nextlevel(RCODE done,FFBLK *dirblk,FFBLK *tempblk)
{FFBLK dirnew,dirnew2;
 long size,space,son;
 size=0;
 son=0;
 space=0;
 if (fileout) files(-1);
 if (html)
     {fprintf(fhdir,"<TR><TD><TT>");
         }
 line(level);
 if(nextdir(tempblk))
   {printf("\xC0\xc4");
          if (html)
         {fprintf(fhdir ,"└─</TT>");
             fprintf(fhdir ,"%s",dirblk->ff_name);
            }
          graph[level]=' ';
   }
  else {printf("\xC3\xc4");
          if (html)
         {fprintf(fhdir ,"├─</TT>");
             fprintf(fhdir ,"%s",dirblk->ff_name);
            }
       graph[level]='\xB3';
     }
 printf("sub %s",dirblk->ff_name);
 space=dir_space();
 size=dir_size();
 printf("\t\tfiles=%ld space=%ld\n",size,space);
 fprintf(fhlog ,"\n%d,%d,%s,%ld,%ld",dirnum,level,dirblk->ff_name,size,space);
// now do directory(ies)
 done=firstdir("*",&dirnew);
 firstdir("*",&dirnew2);
 while (!done)
   {if (debugme) printf("About to change to %ld--%s\n",level,dirnew.ff_name);
       chdir(dirnew.ff_name);
       dirnum++;
       level++;
       son=nextlevel(done,&dirnew,&dirnew2);
       size+=son;
       getcwd(buf,100);
       chdir("..");
//==
       if (son==0)
      {fprintf(fhlog,"=delete");
         fprintf(fhdir,"=delete");
             fprintf(fhbat,"\r\nRmdir \"%s\"",buf);
             fprintf(fhbat,"\r\nRmdir %s",dirnew.ff_name);
         if (kill)
           {tdeleted++;
              printf("Delete %s\n",dirnew.ff_name);
        fprintf(fhlog,"\nDelete %s",dirnew.ff_name);
            fprintf(fhlog,"\r\nRmdir %s\r\n",dirnew.ff_name);
            if (rmdir(dirnew.ff_name))
                     {printf("\nCan not delete %s and error=%d",dirnew.ff_name,errno);
                         perror("error");
                        }
            }
          tempty++;
        }
//==
       level--;
       done=nextdir(&dirnew);
      }
 getcwd(buf,100);
 fprintf(fhlog ,"\n=%d,%d,%s,%ld,%ld",dirnum,level,buf,son,size);
 return(size);
}
int processargs(int argc, char **argv)
{
 int opt, rc = 0;
   BOOLEAN file = FALSE;
// progname = *argv;
 strcpy(progname,argv[0]);
 printf("progname =%s",progname);
 while ((opt = pgp_getopt(argc, argv, "bfhktT?")) != EOF)
  {printf("opt=%c",opt);
       switch (opt)
       {case 'b': debugme=TRUE;printf("b used\n"); break;
    case 'f': file =TRUE; printf("f used\n"); break;
    case 'k': kill=TRUE; break;
    case 'r': kill=TRUE; break;
    case 't': thousands=TRUE; break;
          case 'T': thousands=FALSE; break;
   default: usage();
  }
 }
 return rc;
}
void files(level)
{int i;
 RCODE done;
 FFBLK ffblk;
 char shorty[13];
 // dirnum++;
 done=findfirst("*.*",&ffblk,0);
 if (!done)
  {if(html)
   {for (i=0;i<level;i++)
        {if (graph==' ')
        {fprintf(fhdir,"│");
          }
        else
          {fprintf(fhdir,"│");
          }
         }
      }
   }
 while (!done)
 {line(level+2);
    tfiles++;
    GetShortPathName(ffblk.ff_name,shorty,13);
    printf("%12s",shorty);
  printf("\t%8ld",ffblk.ff_fsize);
  printf("\t%s\n",ffblk.ff_name);
    done=findnext(&ffblk);
 }
 dirnum++;
}
void usage(void)
{
 fprintf(stderr, "usage: EmptyDir %s [-bfhkmtvw] [-f [file]] \n",ver);
 fprintf(stderr, "Deletes files based on date, time, size, Version or MD5 Message Digests\n");
   fprintf(stderr, "    -b  Debug    output (Verbose mode!) (default is no Debug)\n");
   fprintf(stderr, "    -d  Database output (Verbose mode!) (No Database output yet!\n");
  fprintf(stderr, "    -f  Files in ouput                  (default is files.csv)\n");
   fprintf(stderr, "    -h  No HTML output                  (default is HTML Output\n");
   fprintf(stderr, "    -k  Kill empty Directories          (default is Not to Remove Directories)\n");
   fprintf(stderr, "    -r  Remove empty Directories        (default is Not to Remove Directories)\n");
   fprintf(stderr, "    -t  Thousands of Bytes              (default is Bytes)\n");
   fprintf(stderr, "    -T  KiloBytes                       (default is Bytes)\n");
  fprintf(stderr, "    Future options\n");
   fprintf(stderr, "    -d  Database output\n");
 exit(2);
}
</code>_


----------



## Cerebral Assasin (Dec 27, 2007)

HTML, XHTML, XML, CSS, Javascript, vbscript, AJAX, ASP and PHP. 

I know only HTML, i am not greedy, i have left all the other languages for you guys.


----------

