 File access can be achieved through the native Java API, the Thrift API (generates a client in a number of languages e.g.C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml), the command-line interface, the HDFS-UI web application over HTTP, or via 3rd-party network client libraries.HDFS is designed for portability across various hardware platforms and for compatibility with a variety of underlying operating systems.