#contents

** Configuring A Linux Environment - Installing Cygwin for 32-bit Windows 7 [#a3bd504c]

+ Access to http://www.cygwin.com/install.html
+ Download and run setup-x86.exe
+ Select Root Intall Directory -> C:\cygwin
+ Select Local Package Directory -> C:\Users\username\Downloads
+ Select Internet Connection -> Direct Connection
+ Choose A Download Site -> choose a mirror site closer(.ac.jp)
+ Select Packages
- Devel (Cur)
-- Bin
--- binutils: GNU assembler, linker, and similar utilities
--- gcc-core: GNU Compiler Collection (C, OpenMP)
--- gettext: GNU Internationalization development utilities
--- mingw-gcc-core: GNU Compiler Collection (C, OpenMP)
--- mingw-gcc-core-g++: GNU Compiler Collection (C, OpenMP)
--- mingw-runtime: MinGW.org MSVC & compiler runtime headers and runtime
-- Src
--- bison: GNU yacc-compatible parser generator
--- flex: A fast lexical analyzer generator
--- gcc-g++: GNU Compiler Collection (C++)
--- make: The GNU version of the 'make' utility
- Resolving Dependencies -> Select required packages
- The installation is complete within 10 minutes

 $ whereis gcc
 gcc: /usr/bin/gcc.exe /usr/lib/gcc /usr/share/man/man1/gcc.1.gz /usr/src/gcc-4.9.2-1.src/gcc.cygport

 $ whereis bison
 bison: /usr/src/bison-3.0.2-1.src/bison.cygport

 $ whereis flex
 flex: /usr/src/flex-2.5.39-1/flex.mknetrel /usr/src/flex-2.5.39-1/flex.skl

 $ whereis make
 make: /usr/src/make-4.0-2/make.1 /usr/src/make-4.0-2/make.lnk /usr/src/make-4.0-2/make.mknetrel

- Additional Packages
-- Editors
--- vim: VI IMproved - enhanced vi editor
--- vim-common: VI IMproved - enhanced vi editor (common runtime)
-- Net
--- bind: DNS server
--- curl: Multi-potocol file transfer tool
--- whois: GNU Whois
--- ping: A basic network tool to test IP network conectivity
-- Web
--- wget: Utility to retrieve files from the WWW via HTTP and FTP

//** Introductions
//
//Hello class, my name is Yuji Shimojo and I'm 26. I am from Okinawa, Japan and live there now. I'm a technical sales representative at an IT company based in Okinawa. Actually, I used to study Information Engineering at University of the Ryukyus in Okinawa, but I dropped out of the college 5 years ago. While in the college, I had lived in San Jose, California for 6 months for an internship. I'm currently majoring in Computer Science with a minor in Business Administration. This class is required to obtain my B.S.. I took CMIS242, CMSC335, CMSC350, CMSC325, CMSC330, CMSC412, and CMIS330 as part of my major in the past. I'm aiming to enhance my sales engineer career through studying in UMUC.
//
//I have learned C, C++, Java, and CASL II in schools. In my job, I have used PHP, Ruby, and SQL. Among them, my favorite language is Java because it has many of object-oriented features, doesn't depend on OS, and behaves the same way on all platforms.
//
//In my spare time, I enjoy traveling. I've been to California, Taiwan, and several places in Japan. I especially like Taiwan because it is very near from my place. So far I went there 5 times.
//
//I also enjoy scuba diving. Okinawa is known as one of the best islands for scuba diving, so you can enjoy all year round!

** Week1 Discussion [#ga621d0d]

- Question

Languages can be fully compiled, fully interpreted or partially compiled and then interpreted. Choose a language from the list of the top 20 currently most popular languages at http://www.tiobe.com/tpci.htm. Choose one that has not already been chosen by one of your classmates. Discuss which of the three translations mechanisms is used with that language. Offer some rationale for why that mechanism was chosen.

- Answer

I chose Java. When you run a Java program, your source code is partially compiled by the Java compiler and then interpreted by Java Virtual Machine (JVM). The JVM allows you to develop programs without dependence on operating systems.

A major function of JVM is supporting garbage collection, which automatically frees dynamically allocated memory on the heap. When you create a instance of an object by using new operator, memory is automatically allocated on the heap. Therefore, you don't have to care about memory allocation and deallocation unlike C.

- Professor's comment

What is the difference between the original JVMs and the newer JIT compilers?

- My answer

Professor,

The original JVM was designed as an interpreter called the Java interpreter for the Java bytecode. The bytecode is an abstract machine language for the JVMs. It is analyzed, and then executed by byte by the interpreter. On the other hand, JIT compilers load the bytecode into memory and compile it to the native code by method before execution. Although a JIT compiler uses more memory because it stores the compiled native code in memory temporarily, it will enhance execution speed of the application.

Using Java HotSpot VM is a hybrid approach between the interpreter and JIT compilers. It compiles only repetitive methods to the native code.

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS